Hallooo zusammen,
habe momentan Ärger mit dem JPanel. Ich habe in einer innere Klasse (Z:27) einen JPanel(GridLayout) mit atomaren Komponenten. Nun möchte ich im Konstruktor die innere Klasse(MyPanel) in meinen Container hinzufügen und im BorderLayout im SOUTH plazieren. Und das klappt nicht.
Wenn ich den Code von der inneren Klasse in den Konstruktor packe, bekomme ich das was ich eigentlich haben möchte. Allerdings möchte ich eine klare Trennung zwischen dem Panel und dem Frame, weil ich noch mehrere Panel benötige.
[Java]
package swing;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Panel_Test {
public Panel_Test(){
JFrame frame = new JFrame("Viewer");
Container container = frame.getContentPane();
container.setLayout(new BorderLayout());
container.add(new MyPanel(), BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setVisible(true);
}
class MyPanel extends JPanel{{
JPanel mypanel = new JPanel(new GridLayout(0,1));
mypanel.add(new JLabel("Text1"));
mypanel.add(new JLabel("Text2"));
mypanel.add(new JLabel("Text3"));
}}
public static void main(String[] args) {
new Panel_Test();
}
}
[/Java]
Frohe Ostern
habe momentan Ärger mit dem JPanel. Ich habe in einer innere Klasse (Z:27) einen JPanel(GridLayout) mit atomaren Komponenten. Nun möchte ich im Konstruktor die innere Klasse(MyPanel) in meinen Container hinzufügen und im BorderLayout im SOUTH plazieren. Und das klappt nicht.
Wenn ich den Code von der inneren Klasse in den Konstruktor packe, bekomme ich das was ich eigentlich haben möchte. Allerdings möchte ich eine klare Trennung zwischen dem Panel und dem Frame, weil ich noch mehrere Panel benötige.
[Java]
package swing;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Panel_Test {
public Panel_Test(){
JFrame frame = new JFrame("Viewer");
Container container = frame.getContentPane();
container.setLayout(new BorderLayout());
container.add(new MyPanel(), BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);
frame.setVisible(true);
}
class MyPanel extends JPanel{{
JPanel mypanel = new JPanel(new GridLayout(0,1));
mypanel.add(new JLabel("Text1"));
mypanel.add(new JLabel("Text2"));
mypanel.add(new JLabel("Text3"));
}}
public static void main(String[] args) {
new Panel_Test();
}
}
[/Java]
Frohe Ostern