CardLayout: wrong parent

Status
Nicht offen für weitere Antworten.

richardkrieger

Aktives Mitglied
Hallo,

hier im Forum habe ich ein Post mit dem gleichen Problem gefunden, aber leider keine Lösung.

Wird CardLayout überhaupt von jemandem benutzt?

Hier code einer Testklasse, wo ich selber versucht habe das Problem zu lösen:


Code:
import javax.swing.*;
import java.awt.*;

public class TestClass {

	/**
	 * @param args
	 */
		 public static void main(String[] args) {
			 try{
			 JFrame fenster=new JFrame("hauptfenster");
			 fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			 CardLayout card=new CardLayout();
			 JPanel panel1=new JPanel();
			 JPanel panel2=new JPanel();
			 JPanel panel3=new JPanel();
			 fenster.setLayout(card);
			 panel1.add(new JLabel("Panel1"));
			 panel2.add(new JLabel("Panel2"));
			 panel3.add(new JLabel("Panel3"));
			 card.addLayoutComponent(panel1,"1");
			 card.addLayoutComponent(panel2,"2");
			 card.addLayoutComponent(panel3,"3");
//			 card.show(panel1,"1");  // sobald die Zeile aktiviert wird, gibts Fehlermeldung
			 fenster.setSize(400,400);
			 fenster.setVisible(true);
			 } catch(Exception e){
				 System.out.println(e.toString());
			 }
			 }
	}
Fehlermeldung selbst lautet:
java.lang.IllegalArgumentException: wrong parent for CardLayout

wenn ich es richtig verstehe, ist sein parent JFrame oder nicht? Was gefällt CardLayout an JFrame nicht?
 

richardkrieger

Aktives Mitglied
Hallo,

habe das Problem gelöst. Richtige testklasse sieht jetzt so aus:
Code:
import javax.swing.*;
import java.awt.*;

public class TestClass {

	/**
	 * @param args
	 */
		 public static void main(String[] args) {
			 try{
			 JFrame fenster=new JFrame("hauptfenster");
			 fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			 JPanel hpanel=new JPanel();
			 CardLayout card=new CardLayout();
			 JPanel panel1=new JPanel();
			 JPanel panel2=new JPanel();
			 JPanel panel3=new JPanel();
			 hpanel.setLayout(card);
			 panel1.add(new JLabel("Panel1"));
			 panel2.add(new JLabel("Panel2"));
			 panel3.add(new JLabel("Panel3"));
			 hpanel.add(panel1,"1");
			 hpanel.add(panel2,"2");
			 hpanel.add(panel3,"3");
			 fenster.add(hpanel);
			 card.show(hpanel,"2");
			 fenster.setSize(400,400);
			 fenster.setVisible(true);
			 } catch(Exception e){
				 System.out.println(e.toString());
			 }
			 }
	}

JFrame darf anscheinend kein "parent" sein, JPanel aber wohl.
es ist ein bisschen komisch, dass einzelne Panels im "show" über Strings angesprochen werden. Aber was solls........ Hauptsache - funktioniert!!!!!!!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Best Practice Wie erstelle ich ein cardlayout? Java Basics - Anfänger-Themen 22
N Abfragen eines Textes aus einem JTextField in Java, Funktion, CardLayout, Java Basics - Anfänger-Themen 2
Q CardLayout und NullPointer Java Basics - Anfänger-Themen 3
N Probleme mit Class in andere Class adden (Cardlayout) Java Basics - Anfänger-Themen 2
I Hangman CardLayout/repaint? Java Basics - Anfänger-Themen 2
S Toolbar im CardLayout Java Basics - Anfänger-Themen 4
U CardLayout Java Basics - Anfänger-Themen 3
S Input/Output ShowRight/Wrong Java Basics - Anfänger-Themen 45
K java.lang.NoClassDefFoundError: Klasse (wrong name... Java Basics - Anfänger-Themen 17
Lion.King Parent Java Basics - Anfänger-Themen 2
Hallolu PONG Parent-Child connection Java Basics - Anfänger-Themen 3
B Jeweils den Parent bekommen -> mehrere Ebenen Java Basics - Anfänger-Themen 2
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
M Binärbaum mit parent-Zeigern Java Basics - Anfänger-Themen 1
B OOP - Parent Klasse Java Basics - Anfänger-Themen 5
E Daten zwischen Child-JFrame und Parent-JFrame austauschen Java Basics - Anfänger-Themen 2
H Modalen JDialog schließen, ohne dabei das Parent-Frame zu schließen Java Basics - Anfänger-Themen 7
pun Im JDialog auf Objekt im Parent JFrame zugreifen Java Basics - Anfänger-Themen 2
V parent-child Struktur bei Listenern Java Basics - Anfänger-Themen 3
M parent process in die Hand bekommen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben