Komponenten werden erst nach maximierung des Frames sichtbar (Linux)

Roccosi7

Mitglied
Hey,

Ich habe ein vielleicht etwas ungewöhnliches Problem:
Wenn ich eine Gui-Anwendung schreibe und diese starte werden mir die Komponenten nicht angezeigt (es sei denn ich mache den Frame unmenschlich groß, ca. 10x so groß wie er eigentlich sein müsste...).
Erst wenn ich das Fenster maximiere erscheinen die Komponenten und wenn den Frame dann wieder auf die Ursprungsgröße bringe wird alles so angezeigt wie ich es will.
Nur beim Starten eben nicht.
Das ganze ist unabhängig von verwendeten Layouts/Komponenten und passiert auch mit GUI's aus z.B. Tutorials (weshalb ich einen Programmierfehler meinerseits ausschließe).
Ich benutze Ubuntu 12.04 LTS und Java in der aktuellen Version. Die Klassen starte ich ganz normal über das Terminal, zum Coden benutze ich BlueJ.
Woran könnte das liegen? Unter Windows existiert das Problem nicht.

LG
 
Wenn ich nach erzeugen des Frames einen Repaint() mache funktioniert es manchmal, aber nur sehr selten und willkürlich....
 
Zuletzt bearbeitet:
Zeig doch mal den Code, wo du deinen Frame erzeugst. Ich vermute mal, dass du das setVisible(true) an der falschen Stelle aufrufst. Das gehört ganz ans Ende, wenn alle Komponenten erstellt und dem Frame hinzugefügt wurden.
 
Genau diesen Fehler sehe ich hier (gefühlt) mindestens einmal die Woche, scheint also sehr verbreitet zu sein.
Würde mich aber wundern, wenn das nur unter Linux so auftritt und unter Windows nicht...
 
Zuletzt bearbeitet von einem Moderator:
Das war auch nur ein Irrglaube von mir weil bei einem Bekanntem von mir das Resultat des selben Tutorials korrekt angezeigt wurde. Aber der hatte setVisible auch nicht an den Anfang gesetzt.
 

Zurück
Oben