# setContentPane() geht nicht



## Terrestrex (15. Aug 2009)

Guten Abend,
Ich wollte heute nach längerer Zeit wieder ein Java Projekt starten und ich scheitere gerade an den Basics. ;(

Wie in andere Projekte, wollte ich in ein JFrame-Objekt durch setContentPane() ein JPanel-Objekt einfügen.
Das JFrame-Objekt wird richtig angezeigt aber der Inhalt nicht.

Sollte ein Ähnliches Thread schon geschrieben worden sein, bitte ich um ein Verweis - es ist schwer mit den Stichwörter "setContentPane", "JFrame" und "JPanel" was vernünftiges zu ergoogeln.

So lautet mein Code:

```
public TheMainClass(){
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		int screenSizeWidth = toolkit.getScreenSize().width;
		int screenSizeHight = toolkit.getScreenSize().height;
		
		JFrame theFrame = new JFrame(); 
		JPanel thePanel = new JPanel(); 
		JButton theButton = new JButton("test");
		
		thePanel.setBackground(Color.green);
		thePanel.add(theButton);
		theFrame.setSize(		(int)(screenSizeWidth/2),   (int)(screenSizeHight/2));
		theFrame.setLocation(	(int)(screenSizeWidth/4), 	(int)(screenSizeHight/4));
		theFrame.setTitle("Halloa");
		theFrame.setContentPane(thePanel);
		theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		theFrame.setVisible(true);
	}
```

Wahrscheinlich ist ein banaler Fehler aber ich komme einfach nicht drauf.

Ich wäre für jeden Tip dankbar.

Grüße

Terrex

PS: Ich weiß nicht, ob es ein Rolle spielt aber ich benutze: 
      Eclipse Java EE IDE for Web Developers.
      Mein OS: Ubuntu 9.04 - Jaunty Jackalope


----------



## Schandro (15. Aug 2009)

benutz
add
statt
setContentPane

bzw. les dir mal den API-Eintrag über setContentPane durch


----------



## cover1012 (15. Aug 2009)

Ich sehe keinen Grund, warum dein Panel mit Button nicht angezeigt wird. Sollte eigentlich so funktionieren. Rufst du an anderer Stelle vielleicht noch einmal setContentPane() auf?


----------



## Terrestrex (16. Aug 2009)

Hallo zusammen,
danke für die rasche Antworten.

Ich habe den Code unter WinXP-SP3 und Eclipse Version: 3.4.2 ausprobiert und es funktioniert.

Ich werde mir jetzt eine andere Version von Eclipse installieren und mal schauen...

@Schandro
Ich habe immer ein JPanel über setContentPane() eingefügt. In Netz gibt's auch einige die über getContentPane().add() gehen. Aber direkt add()?! Das ist eher unüblich, oder?

Grüße

Terrex


----------



## Chumax (16. Aug 2009)

In den neuen java version macht add in dem fall getContentPane().add()


----------



## Terrestrex (17. Aug 2009)

Guten Tag,
ich habe eine andere Version von Eclipse ausprobiert und es geht denoch nicht.

Ich denke, das hat was mit mein OS zu tun.

Entweder habe ich bei der Installation was falsches gemacht oder der Ubuntu-Community ist der Fehler noch nicht aufgefallen (eher unwahrscheinlich).

Ich werde es weiter ausprobieren aber danke für die Tipps

@Chumax
Ich habe ein Beitrag im Internet gefunden, der den Unterschied zwischen setConentPane() und getContentPane().add() erklärt:
setContentPane() vs. getContentPane().add() | aus Forum Java | wer-weiss-was
Natürlich kann sich der Poster irren, aber für mich klingt es plausibel. 

Sobald ich schlauer werde sag ich es euch bescheit.

Grüße

Terrex


----------



## Terrestrex (25. Aug 2009)

Hallo,
also ich hab's endlich. Das Problem ich hatte das Java Paket falsch installiert. Als dieser Fehler behoben worden ist, gings alles wie gewöhnt.

Danke vielmals.

Grüße

Terrex

PS.: Für die, die ein ähnliches Problem haben:

setContentPane() geht nicht - Softwareentwicklung - Ubuntu-Forum & Kubuntu-Forum | www.Ubuntu-Forum.de


----------

