J'ai créé JDialog
simple pour obtenir des données initiales pour mon application. Les éléments (JLabel
, JTextField
et JButton
) sont organisés par BoxLayout
à l'intérieur du BorderLayout
. (Code à la fin). Jusqu'à présent, il ressemble à ceci:Centrer JButton dans BoxLayout, remplissage JTextField
J'ai deux problèmes:
Je voudrais centrer
JButton
dans elle est rangée. J'ai essayéstartBtn.setAlignmentX(Component.CENTER_ALIGNMENT);
, mais cela ne fonctionne pas correctement, désordre apparaît. Je veux ajouter un rembourrage gauche/droite àTextField
. La première solution de this topic fonctionne correctement, mais les autres éléments sont déplacés vers la gauche.
Quelqu'un peut-il donner un indice pour le placer? Je suis nouveau à Java et n'ai aucune idée.
est ici le code de ma classe InitDialog
:
public class InitDialog extends JDialog {
JTextField dataTF;
JButton startBtn;
public InitDialog(JFrame owner) {
super(owner, "Rozpocznij test", Dialog.ModalityType.DOCUMENT_MODAL);
initUI();
}
public final void initUI() {
System.out.println("InitDialog::initUI");
JPanel outer = new JPanel(new BorderLayout());
JPanel inner = new JPanel();
outer.setBorder(new EmptyBorder(new Insets(20, 20, 20, 20)));
JLabel msg = new JLabel("<html>Podaj ilości liczb w zestawach testowych<br />(przedzielone średnikiem):");
inner.add(msg);
inner.add(Box.createVerticalStrut(15));
dataTF = new JTextField();
dataTF.setBorder(null);
dataTF.setText("50; 100; 200");
inner.add(dataTF);
inner.add(Box.createVerticalStrut(15));
startBtn = new JButton("Rozpocznij test");
inner.add(startBtn);
inner.setLayout(new BoxLayout(inner, BoxLayout.Y_AXIS));
outer.add(inner);
add(outer);
setSize(300, 180);
//setDefaultCloseOperation(DISPOSE_ON_CLOSE);
addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setResizable(false);
setLocationRelativeTo(getRootPane());
}
}
Pour votre 1ère question avez-vous essayé 'inner.add (startBtn, BorderLayout.CENTER)' – exexzian
Il n'y a pas de différence dans la mise en page puis. Merci pour l'intérêt. –