Centrer un JLabel dans un Composite

J'ai un panneau dérivé de JPanel. J'ai un contrôle personnalisé dérivé de JLabel. Je cherche pour le centre de cette coutume JLabel sur mon panneau.

La seule façon que je sais faire ce que sera le travail est d'utiliser la valeur null mise en page (setLayout(null)) et ensuite calculer la coutume JLabel est setLocation() point de sorte qu'il est au bon endroit.

La coutume JLabel est physiquement déplacé à partir d'un panneau de ce panneau dans cette application et je crois que l'emplacement défini précédemment dans setLocation affecte les choses. Cependant, quand je l'ai mis à (0,0) le composant va dans le coin supérieur gauche.

BorderLayout ne fonctionne pas parce que quand seulement 1 composant est fourni et placé dans BorderLayout.CENTER, la section centrale s'agrandit pour remplir tout l'espace.

Un exemple que j'ai coupé et collé à partir d'un autre site utilisé BoxLayout et component.setAlignmentX(Component.CENTER_ALIGNMENT). Cela ne fonctionne pas non plus.

Une autre réponse mentionné des raisons impérieuses le panneau de getInset() fonction (je pense que c'est ce qui a été appelé), mais qui s'est avéré être une impasse.

Jusqu'à présent, je suis en train de travailler avec un panneau avec une GridBagLayout mise en page et je inclure un GridBagConstraints objet lorsque j'insère la coutume JLabel dans mon panneau. C'est inefficace, si. Est-il une meilleure façon de centre de la JLabel dans mon JPanel?

Envisager l'exploitation minière, la question réelle de la rodomontade.
Oh, et après j'utilise le GridBagLayout & GridBagConstraints méthode, les choses semblent OK si j'réduire, puis de restaurer la fenêtre principale.
Le temps d'écrire toute cette diatribe a été suffisant pour taper dans google " Swing de travail à la disposition des gestionnaires, en cliquant sur le premier hit de l'officiel swing tutoriels, regardez le guide visuel, décider BoxLayout semble prometteur, et de voir un exemple qui fait plus ou moins ce que vous voulez (il contient deux composants iso un seul)
Vous voulez dire l'ensemble des 3 phrases relativement explication approfondie des choses que j'ai fait des recherches et essayé? Je vais aller droit sur elle.
Robin: Même si j'ai clairement mentionné diverses choses que j'ai trouvé et avait déjà tenté, je suppose que je dois le dire: j'ai tenté de chercher la réponse. C'est pourquoi j'ai posté ici. Sarcastiques, élitiste des commentaires comme le vôtre n'ai pas d'affaires sur un site dédié à aider les programmeurs à trouver des réponses à leurs questions. Depuis tout ce que Java est déjà documenté quelque part en ligne, il n'y a rien qui NE PEUT être répondu avec une recherche sur internet. Si ma question n'est pas à la hauteur de votre haute et puissante normes alors peut-être vous ne devriez pas avoir perdu beaucoup de temps à répondre.

OriginalL'auteur Shackleford | 2012-03-22