Hallo,
Ausgangssituation:
Ich hab nen JFrame mit einem JDesktopPane drin. Auf dem JDesktopPane sollen JInternalFrames angeordnet werden. Schön wäre es, dass alles schon geordnet ist, wenn ich den JFrame auf sichbar schalte.
Wenn ich aber jetzt dem JInternalFrame sage er soll an einer bestimmten Stelle stehen, dann braucht er ja die Größe vom JDesktopPane. Der JDesktopPane kennt seine Größe aber noch nicht, wenn er noch nicht gezeichnet wurde!
Behelfslösung:
zZ Verwenden ich folgende Zeilen zum schnellen Zeichnen.
So blitzt der JFrame kurz auf... aber das ist nicht schön.
Frage:
Normalerweise wird der JFrame erst gezeichnet, wenn setVisible(true) ausgeführt wird - Oder geht das noch irgendwie anders?
Kann man das Zeichnen unsichtbar machen? Also dass nur virtuell der JFrame gezeichnet wird?
Nachtrag:
Ich hab jetzt den JFrame mal kurz außerhalb des Bildschrims setLocation( -10000, -10000) gezeichnet... das funktioniert. Aber gibt es noch eine elegantere Lösung?
Danke fürs Lesen und Antworten...
Clemens
Ausgangssituation:
Ich hab nen JFrame mit einem JDesktopPane drin. Auf dem JDesktopPane sollen JInternalFrames angeordnet werden. Schön wäre es, dass alles schon geordnet ist, wenn ich den JFrame auf sichbar schalte.
Wenn ich aber jetzt dem JInternalFrame sage er soll an einer bestimmten Stelle stehen, dann braucht er ja die Größe vom JDesktopPane. Der JDesktopPane kennt seine Größe aber noch nicht, wenn er noch nicht gezeichnet wurde!
Behelfslösung:
zZ Verwenden ich folgende Zeilen zum schnellen Zeichnen.
Code:
this.applicationFrame.setEnabled(false);
this.applicationFrame.setVisible(true);
this.applicationFrame.setVisible(false);
this.applicationFrame.setEnabled(true);
So blitzt der JFrame kurz auf... aber das ist nicht schön.
Frage:
Normalerweise wird der JFrame erst gezeichnet, wenn setVisible(true) ausgeführt wird - Oder geht das noch irgendwie anders?
Kann man das Zeichnen unsichtbar machen? Also dass nur virtuell der JFrame gezeichnet wird?
Nachtrag:
Ich hab jetzt den JFrame mal kurz außerhalb des Bildschrims setLocation( -10000, -10000) gezeichnet... das funktioniert. Aber gibt es noch eine elegantere Lösung?
Danke fürs Lesen und Antworten...
Clemens