Hallo,
ich habe ein Interface wo ich dynamisch mehrere Tabs in einem Frame erstellen muss. Somit habe ich jetzt die Tab Erzeugung von der JFrame erzeugung getrennt und seitdem tritt die IllegalArgumentException auf.
Die eine Klasse(Name: Control) sieht so aus:
public Control(){
f = new JFrame();
Container c = f.getContentPane();
f.setLayout(new BorderLayout());
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setSize(600, 750);
f.setTitle("Persona");
f.add(c);
JTabbedPane tabs = new JTabbedPane();
new Tab(this,"1");
new Tab(this,"2");
f.add(tabs, BorderLayout.CENTER);
tabs.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
Die Klasse(Name: Tab) wo der Tab erzeugt wird sieht folgendermaßen aus:
Control ctrl;
public Tab(Control ctrl, String tname) {
this.ctrl = ctrl;
Container c = ctrl.f.getContentPane();
ctrl.tabs.addTab(tname, c);
main = new JPanel();
main.setLayout(new GridLayout(9,1));
c.add(main);
main.setLocation(0, 100);
main.add(new JLabel("here is the photograph supposed to be"));
}
Der Fehler tritt auf in der Control Klasse, Zeile: 'f.add(tabs, BorderLayout.CENTER);' mit der Erklärung "adding container's parent to itself". Ich versteht nicht ganz was man mir damit sagen möchte, geschweige denn wie ich es lösen kann.
Es wär super nett von euch wenn mir jemand bei der Lösung des Problems helfen könnte.
Vielen Dank
ciao Sebastian
ich habe ein Interface wo ich dynamisch mehrere Tabs in einem Frame erstellen muss. Somit habe ich jetzt die Tab Erzeugung von der JFrame erzeugung getrennt und seitdem tritt die IllegalArgumentException auf.
Die eine Klasse(Name: Control) sieht so aus:
public Control(){
f = new JFrame();
Container c = f.getContentPane();
f.setLayout(new BorderLayout());
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setSize(600, 750);
f.setTitle("Persona");
f.add(c);
JTabbedPane tabs = new JTabbedPane();
new Tab(this,"1");
new Tab(this,"2");
f.add(tabs, BorderLayout.CENTER);
tabs.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}
Die Klasse(Name: Tab) wo der Tab erzeugt wird sieht folgendermaßen aus:
Control ctrl;
public Tab(Control ctrl, String tname) {
this.ctrl = ctrl;
Container c = ctrl.f.getContentPane();
ctrl.tabs.addTab(tname, c);
main = new JPanel();
main.setLayout(new GridLayout(9,1));
c.add(main);
main.setLocation(0, 100);
main.add(new JLabel("here is the photograph supposed to be"));
}
Der Fehler tritt auf in der Control Klasse, Zeile: 'f.add(tabs, BorderLayout.CENTER);' mit der Erklärung "adding container's parent to itself". Ich versteht nicht ganz was man mir damit sagen möchte, geschweige denn wie ich es lösen kann.
Es wär super nett von euch wenn mir jemand bei der Lösung des Problems helfen könnte.
Vielen Dank
ciao Sebastian