Swing Größen-Problem mit JFrame

lordstege

Mitglied
Guten Abend,

ich hab da n kleines Problem und wäre sehr dankbar für n paar Tips.

Ich hab ne grafische Auswertung von Daten. Diese Klasse ist von JPanel abgeleitet, überschreibt die
Methode paintComponent(Graphics g) und hat die Größe 400x400.

Dieses JPanel soll mir nun in einem JFrame angezeigt werden. Da der JFrame ja nun größer sein muss als mein JPanel, damit alles dargestellt werden kann:


Java:
public class MyFrame extends JFrame {
	public MyFrame(Dimension d) {

		this.add(new MyGraphics(d));
		this.setSize(d);
	}	
}

war mir recht schnell klar, dass das nich funktioniert.

Also war meine nächste Überlegung die Methode
getPreferedSize() zu benutzen, und diesen Wert als Parameter für setSize() zu nutzen. Negativ. Außer der Titelleister ist auch nichts zu sehen.

Das nächste war auf die Größe des Panels einfach noch die Werte der getInsets()-Methode draufzurechnen. Doch auch das führt nicht gewünschtem Ergebnis.

Das Fenster ist immer noch zu klein. Fehlen sowohl an Höhe als auch an Breite rund 30 bis 50 Pixel.
Und das ist vom Augenmaß her genau das was die Ränder und Titelleiste des JFrames ausmachen.

Habt ihr ne Idee was ich falsch mache?

Wäre echt dankbar wenn ihr mir da weiterhelfen könntet ...

Gruß
lordstege
 
Moin, moin, ;-)

Versuch es mal so:

Java:
public class MyFrame extends JFrame {
	public MyFrame(Dimension d) {

		this.add(new MyGraphics(d));
		
		//this.setSize(d);
		this.pack();
	}	
}

BTW: Auch wenn es hier so funktioniert...
//this.add(new MyGraphics(d));

...ist das hier eigentlich korrekter:
this.getContentPane().add(new MyGraphics(d));


Gruß,
r.w.
 
Moin moin,

mir is es ja grad schon fast peinlich dafür n Thread erstellt zu haben.

Naja, manchmal sieht man einfach vor lauter Bäumen den Wald nich mehr. 😉

Danke dir auf jeden Fall für die Antwort, funktioniert einwandfrei.

Gruß
lordstege
 

Neue Themen


Zurück
Oben