Größe des ContentPane eines nicht sichtbaren JDialogs ermitteln?

DarthShader

Erfahrenes Mitglied
Hallo zusammen,

ich würde gerne den Inhalt eines JDialogs in ein Bild rendern. Dies ist auch nicht mit eigentliches Problem, das folgende vorweg:

Das Rendern klappt im Prinzip gut, ich mache das per "SwingUtilities.paintComponent(...)". Ich habe mich dazu entschlossen, den Content Pane des JDialos zu rendern - ich möchte nur den Inhalt im Bild haben, nicht aber z.B. die Titelleiste des Dialog-Fensters. Ich rendere also "dialog.getContentPane()".

Nun zur eigentlichen Frage:

Ich möchte den Dialog rendern, wenn er noch nicht sichtbar ist und dass das Bild so groß ist, wie der Content Pane des Dialogs. Wenn ich die Größe des Dialogs setze, wird damit aber noch nicht die Größe seines Content Pane gesetzt. Solange also der Dialog nicht sichtbar ist (setVisible), ist die Größe des Content Pane (0,0). Da aber ein Dialogfenster auch z.B. aus de rtitelleiste besteht, ist die Größe des Dialogs nicht gleich die größe des Content Panes.

Für mich ergibt das 2 möglichkeiten:

1. Die korrekte größe des Content Panes ermitteln, z.B. aus der Dialog größe minus der Titelleiste
2. Irgendwas wie "validate()" oder "doLayout()" aufrufen, damit die Größe des Content Pane noch vor "setVisible()" des Dialogs ermittelt/gesetzt wird.


Bei beiden Möglichkeiten weiß ich aber nicht, wie. Kann mir jemand weiter helfen, oder kennt jemandnoch eine andere Möglichkeit?


Vielen Dank für Eure Hilfe!
 
Zurück