J'essaie d'obtenir la mise en page d'un JDialog
à mon goût pour un look particulier qu'un programme dans lequel je porte sur Java, j'ai déjà utilisé plusieurs LayoutManagers avec beaucoup de succès mais pour une raison que je ne peux pas sembler pour que cela fonctionne du tout. Mon objectif est d'avoir le côté droit (Est) de la JDialog
contenir un bouton "Trouver Suivant" et "Annuler" dans un ordre descendant, puis tout espace supplémentaire ci-dessous de sorte que les deux boutons sont toujours en haut de la JDialog
, mais pour une raison quelconque BoxLayout
ignore continuellement toutes les tentatives de changer (c'est où je suis perdu) la largeur d'un JButton
. Le code suit.Pourquoi BoxLayout ne me permet-il pas de changer la largeur d'un JButton mais permettez-moi de changer la hauteur?
JButton findNext = new JButton("Find Next");
JButton cancel = new JButton("Cancel");
cancel.setPreferredSize(new Dimension((int)findNext.getPreferredSize().getWidth(),
(int)cancel.getPreferredSize().getHeight()));
JPanel example = new JPanel();
example.setLayout(new BoxLayout(example, BoxLayout.Y_AXIS));
example.add(findNext);
example.add(cancel);
example.add(Box.createGlue());
Peu importe ce que j'essaie, cancel
demeure toujours intact sa taille normale. J'ai essayé setMinimumSize()
et setMaximumSize()
avec les mêmes paramètres que setPreferredSize
sans chance. J'ai même essayé cancel.setPreferredSize(new Dimension(500, 500));
et la hauteur des boutons était la seule chose ajustée, il a TOUJOURS conservé la largeur par défaut qui lui a été donnée. Pour éclaircir les questions, voici à quoi il ressemble (maintenant que je l'ai terminé) et vous verrez que les boutons "Rechercher Suivant" et "Annuler" n'ont pas la même taille.
J'ai ajouté un lien vers la question principale du JDialog terminé afin que vous puissiez mieux comprendre mon problème. –
@Tim Merci, je révisais le code pour mettre la partie pertinente ici, désolé j'ai manqué la parenthèse. –
@izuriel - Pas de problème, je l'ai juste copié sur Eclipse pour le jouer un peu et j'ai remarqué qu'il manquait, donc je voulais le réparer pour les autres. :) –