RattuS
2011-02-14, 19:25:39
Hallo,
ich komme mit dem LayoutManagement bei Java noch nicht so ganz zurecht. Ich habe ein JFrame, das eine JMenu hat. Im Zentrum des ContentPane des JFrame möchte ich ein JPanel platzieren, das genau in seiner eigenen größe dargestellt werden soll. Das JPanel muss soll auch beim Verändern der JFrame-Größe zentriert bleiben.
Mein Ansatz mit BorderLayout:
this.setSize(800, 500);
this.getContentPane().setLayout(new BorderLayout());
...
setJMenuBar(myMenu);
...
JPanel myPanel = new JPanel();
myPanel.setSize(640, 400);
myPanel.setBackground(Color.BLACK);
this.getContentPane().add(myPanel, BorderLayout.CENTER);
Bringt nichts, weil BorderLayout das JPanel auf das gesamte ContentPane vergrößert.
Mein Ansatz mit GridBagLayout:
this.setSize(800, 500);
this.getContentPane().setLayout(new GridBagLayout());
...
setJMenuBar(myMenu);
...
JPanel myPanel = new JPanel();
myPanel.setSize(640, 400);
myPanel.setBackground(Color.BLACK);
this.getContentPane().add(myPanel, new GridBagConstraints());
Zentriert zwar das Panel, setzt aber die Größe nicht oder nicht richtig. Hab da nur ein ca. 24x24px kleines schwarzes Panel. >_>
ich komme mit dem LayoutManagement bei Java noch nicht so ganz zurecht. Ich habe ein JFrame, das eine JMenu hat. Im Zentrum des ContentPane des JFrame möchte ich ein JPanel platzieren, das genau in seiner eigenen größe dargestellt werden soll. Das JPanel muss soll auch beim Verändern der JFrame-Größe zentriert bleiben.
Mein Ansatz mit BorderLayout:
this.setSize(800, 500);
this.getContentPane().setLayout(new BorderLayout());
...
setJMenuBar(myMenu);
...
JPanel myPanel = new JPanel();
myPanel.setSize(640, 400);
myPanel.setBackground(Color.BLACK);
this.getContentPane().add(myPanel, BorderLayout.CENTER);
Bringt nichts, weil BorderLayout das JPanel auf das gesamte ContentPane vergrößert.
Mein Ansatz mit GridBagLayout:
this.setSize(800, 500);
this.getContentPane().setLayout(new GridBagLayout());
...
setJMenuBar(myMenu);
...
JPanel myPanel = new JPanel();
myPanel.setSize(640, 400);
myPanel.setBackground(Color.BLACK);
this.getContentPane().add(myPanel, new GridBagConstraints());
Zentriert zwar das Panel, setzt aber die Größe nicht oder nicht richtig. Hab da nur ein ca. 24x24px kleines schwarzes Panel. >_>