Hallo,
ich hab das problem das meine Buttons, die sich in einem JPanel befinden sich immer komplett aufblähen.
Hier mal mein Quelltext:
Wie zu sehen habe ich es normal mit preferredSize probiert und danach extra noch mit setSize aber das alles hilft nichts. Für das Gridbaglayout nehme ich eine Hilfsklasse, falls die wichtig ist kann ich sie auf Wunsch auch noch posten.
Danke
ich hab das problem das meine Buttons, die sich in einem JPanel befinden sich immer komplett aufblähen.
Hier mal mein Quelltext:
Java:
public class Main {
private JFrame frame;
private JMenuBar mb;
private JMenu menu;
private AbstractAction openAction;
private AbstractAction closeAction;
private AbstractAction saveAction;
private GridBagHelper gbh;
private JPanel mainContainer;
private JButton bAddVeranst;
private JButton bChangeVeranst;
private JButton bDeleteVeranst;
private JList list;
public Main () {
createActions();
frame = new JFrame("Java and XML");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.setPreferredSize(new Dimension(1024,768));
mb = new JMenuBar();
menu = new JMenu("Datei");
menu.add(openAction);
menu.add(saveAction);
menu.add(closeAction);
mb.add(menu);
gbh = new GridBagHelper();
mainContainer = new JPanel();
mainContainer.setPreferredSize(new Dimension(800,600));
mainContainer.setLayout(new GridBagLayout());
bAddVeranst = new JButton("Erstellen");
bChangeVeranst = new JButton("Bearbeiten");
bDeleteVeranst = new JButton("Entfernen");
bAddVeranst.setPreferredSize(new Dimension(100,50));
bChangeVeranst.setPreferredSize(new Dimension(100,50));
bDeleteVeranst.setPreferredSize(new Dimension(100,50));
list = new JList();
list.setPreferredSize(new Dimension(650,600));
gbh.setInsets(new Insets(2,2,2,2));
gbh.add(mainContainer, bAddVeranst, 0, 0); //Reihe 0, Spalte 0
gbh.add(mainContainer, bChangeVeranst, 1, 0); //Reihe 1, Spalte 0
gbh.add(mainContainer, bDeleteVeranst, 2, 0); //Reihe 2, Spalte 0
gbh.add(mainContainer, list, 0, 1, 3, 0); //Reihe 0, Spalte 1 mit Rowspan 3
bAddVeranst.setMaximumSize(bAddVeranst.getPreferredSize());
bChangeVeranst.setMaximumSize(bAddVeranst.getPreferredSize());
bDeleteVeranst.setMaximumSize(bAddVeranst.getPreferredSize());
frame.add(mainContainer, BorderLayout.CENTER);
frame.add(mb,BorderLayout.NORTH);
frame.pack();
frame.setVisible(true);
}
...
Wie zu sehen habe ich es normal mit preferredSize probiert und danach extra noch mit setSize aber das alles hilft nichts. Für das Gridbaglayout nehme ich eine Hilfsklasse, falls die wichtig ist kann ich sie auf Wunsch auch noch posten.
Danke
Zuletzt bearbeitet: