La colonne gauche est ce que je fais référence ici:Colonne de GroupLayout est Unaligned
Il y a environ une semaine, je convaincu mon père de fossé de Windows 10 en faveur de Linux Mint. La transition a été assez cahoteuse jusqu'à présent, considérant qu'il aime avoir une interface simpliste. Il ne veut pas travailler avec la ligne de commande, donc j'ai passé la meilleure partie de la journée à essayer de créer une interface utilisateur Java, il va donc arrêter de se moquer de la façon dont il ne peut pas exécuter un script. Je veux que ce soit parfait, cependant, et ce désalignement m'ennuie énormément. Honnêtement, je ne comprends pas ce qui est différent dans cette colonne par rapport aux autres.
Voici ma méthode de format, qui fait tous les trucs GroupLayout
private void format() {
GroupLayout layout = new GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(LEADING))
.addComponent(inputLabel)
.addComponent(outputLabel)
.addComponent(exitButton)
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(inputTextField, 300, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(outputTextField, 300, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
)
.addGroup(layout.createParallelGroup(LEADING).addComponent(inputButton).addComponent(outputButton)
.addComponent(compressButton)));
layout.linkSize(SwingConstants.HORIZONTAL, inputButton, outputButton);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(inputLabel)
.addComponent(inputTextField, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(inputButton))
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(outputLabel)
.addComponent(outputTextField, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(outputButton))
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(exitButton)
.addComponent(compressButton)));
setTitle("PDF CONVERTER");
pack();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
Toute aide serait grandement appréciée. Merci d'avance!
Je ne l'ai jamais appris à lire le code GroupLayout généré par un IDE. Pour une raison, le code n'est pas portable si vous passez à un autre IDE. L'outil glisser/déposer génère un code différent. Une solution simple est d'utiliser un 'GridBagLayout', alors vous êtes en plein contrôle de votre disposition de grille simple. Lisez la section du tutoriel Swing sur [Comment utiliser GridBagLayout] (http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html) pour obtenir des informations et des exemples. – camickr
Vous faites un mauvais service aux gens en recommandant le GridBagLayout démodé et terrible. –