# JFrame-Klasse soll ein/mehrere Objekte einer JPanel-Klasse-&



## shaax (18. Mai 2008)

Hallo,

mehr ging leider nicht in die Überschrift rein,
also folgendes:

Ich habe folgende Klasse:


```
public class KartenPoolGUI implements ActionListener{
	
	static JFrame main = new JFrame();
	static JPanel mainpanel = new JPanel();
	JPanel maincenter = new JPanel();
	JButton kaufendruckenBtn = new JButton("Kaufen und Drucken");
	
	public KartenPoolGUI(Karte x){
		
		main.setSize(333,300);
                main.setVisible(true);
		main.add(mainpanel);
		mainpanel.setLayout(new BorderLayout());
		mainpanel.add(kaufendruckenBtn, BorderLayout.NORTH);
		mainpanel.add(maincenter,BorderLayout.SOUTH);
			maincenter.add(x);
			x.setVisible(true);
		kaufendruckenBtn.addActionListener(this);
		main.setDefaultCloseOperation(2);
	}
}
```

Und die Klasse  Karte (diese EXTENDES JPanel).
Nun soll beim Aufruf von KartenPool ein Objekt von  Karte  hinzugefügt (also angezeigt) werden.

Nur leider funktioniert das nich.
Ich starte  KartenPool  und sie bleibt (bis auf den Button) leer.

Hat jemand ne Idee?


----------



## shaax (18. Mai 2008)

Vllt wäre es hilfreich wenn ich die Klasse Karte auch noch zeige poste : )

--->


```
public class Karte extends JPanel{
	
	JFrame main = new JFrame();
	
	JPanel mainnorth = new JPanel();
	JPanel maineast = new JPanel();
	JPanel mainwest = new JPanel();
	JPanel maincenter = new JPanel();
	
	JTextField filmanzeige = new JTextField();
	
	JTextArea saaletcanzeige = new JTextArea();
	JTextArea preisetcanzeige = new JTextArea();
	
	public Karte(String filmtitel){
			
		main.setSize(333,170);
		main.setLayout(new BorderLayout());
		main.add(mainnorth, BorderLayout.NORTH);
			mainnorth.add(filmanzeige);
			mainnorth.setBackground(Color.DARK_GRAY);
				filmanzeige.setText(filmtitel);
				filmanzeige.setBorder(javax.swing.BorderFactory.createEtchedBorder());
				filmanzeige.setEditable(false);
				filmanzeige.setFocusable(false);

			this.setVisible(true);
	}
	
}
```


Nun, wie schon gesagt:

Ich erzeuge ein Objekt von KartenPoolGUI
und das gebe ein gleich ein Objekt von  Karte  mit

--->
KartenPoolGUI gui = new KartenPoolGUI(new Karte("Hallo"));


Es wird aber nicht angezeigt..


----------



## Marco13 (18. Mai 2008)

//main.setSize(333,170); 
main.setPreferredSize(new Dimension(333,170)); 

http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html


----------



## shaax (19. Mai 2008)

Das sollte jetzt aber kein Lösungansatz gewesen sein, oder? (wenn ja versteh ich den nich^^)

Ich hab ma das *.setSize (bei beiden) damit ersetzt, seltsamerweise gehts nun gar nich mehr richtig..

Der Link hilft mir auch nich weiter.

Trotzdem Danke


----------

