Hallo zusammen,
ich habe ein JFrame in dem sich ein JPanel mit mehreren Buttons befindet. Als Layout nutze ich BoxLayout.
Wie kann ich nun erreichen dass die Buttons alle die gleiche Breite haben (Habe sie bereits zentriert, was aber unwesentlich sein sollte)?
Meine setPreferedSize-Dimension scheint er nicht umzusetzen?!?
Hier mal mein Code:
HINWEIS: Ich nehme auch äußerst gerne Hinweise/Tipps bezüglich dem ganzen Code an (z.B. hinsichtlich Style o.ä.). Es ist mein erster Versuch in Java. Habe davor viel mit C/C++ gearbeitet. Wenn euch also etwas auffällt, bitte unbedingt auch hier reinschreiben (und keine Rücksicht von wegen erster Versuch und so!!!
Grüße - spacegaier
ich habe ein JFrame in dem sich ein JPanel mit mehreren Buttons befindet. Als Layout nutze ich BoxLayout.
Wie kann ich nun erreichen dass die Buttons alle die gleiche Breite haben (Habe sie bereits zentriert, was aber unwesentlich sein sollte)?
Meine setPreferedSize-Dimension scheint er nicht umzusetzen?!?
Hier mal mein Code:
Code:
public class MainFrame extends JFrame
{
public MainFrame(int x, int y, String title)
{
JPanel mp = new JPanel();
mp.setLayout(new BoxLayout(mp, BoxLayout.Y_AXIS));
mp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
setTitle(title);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(x, y);
int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
setLocation((screenWidth - x) / 2, (screenHeight - y) / 2);
JButton button_new_contact = new JButton("Neuen Kontakt anlegen");
JButton button_delete_contact = new JButton("Bestehenden Kontakt löschen");
JButton button_show_contacts = new JButton("Kontakte anzeigen");
JButton button_exit_app = new JButton("Adress-Buch verlassen");
Dimension dim = new Dimension(150, 50);
button_new_contact.setMnemonic(KeyEvent.VK_N);
button_new_contact.setPreferredSize(dim);
button_new_contact.setAlignmentX(Component.CENTER_ALIGNMENT);
button_new_contact.setToolTipText("<html>Klicken Sie hier um einen
neuen Kontakt anzulegen.</html>");
button_delete_contact.setMnemonic(KeyEvent.VK_L);
button_delete_contact.setPreferredSize(dim);
button_delete_contact.setAlignmentX(Component.CENTER_ALIGNMENT);
button_delete_contact.setToolTipText("<html>Klicken Sie hier um einen
bestehenden Kontakt zu löschen.</html>");
button_show_contacts.setMnemonic(KeyEvent.VK_A);
button_show_contacts.setAlignmentX(Component.CENTER_ALIGNMENT);
button_show_contacts.setToolTipText("<html>Klicken Sie hier um alle ihre
gespeicherten Kontakt anzuzeigen.</html>");
button_exit_app.setMnemonic(KeyEvent.VK_V);
button_exit_app.setAlignmentX(Component.CENTER_ALIGNMENT);
button_exit_app.setToolTipText("<html>Klicken Sie hier um das
Adress-Buch zuverlassen.</html>");
mp.add(Box.createVerticalBox());
mp.add(button_new_contact);
mp.add(Box.createVerticalStrut(10));
mp.add(button_delete_contact);
mp.add(Box.createVerticalStrut(10));
mp.add(button_show_contacts);
mp.add(Box.createVerticalStrut(10));
mp.add(button_exit_app);
mp.add(Box.createVerticalStrut(10));
this.add(mp);
pack();
setVisible(true);
}
HINWEIS: Ich nehme auch äußerst gerne Hinweise/Tipps bezüglich dem ganzen Code an (z.B. hinsichtlich Style o.ä.). Es ist mein erster Versuch in Java. Habe davor viel mit C/C++ gearbeitet. Wenn euch also etwas auffällt, bitte unbedingt auch hier reinschreiben (und keine Rücksicht von wegen erster Versuch und so!!!
Grüße - spacegaier