Frage zu getInsets()

Hi!

Ich mal ne Frage zur Methode getInsets()…
Ich benötige die Werte der Fensterränder/Titelleiste, bekomme aber immer nur “0” geliefert. Muss man das irgendwie anders nutzen oder “aktivieren”? Laut API müsste es doch richtig angewandt sein um die Titelgröße geliefert zu bekommen oder nicht?

Auszug aus meinem Code:

JLabel viewer = new JLabel();
viewer.setIcon(thisPic);
JFrame window = new JFrame("Image: "+bildDokument.getName());			
window.addWindowListener(new DokumentAusgabeEventHandler());
window.setSize(thisPic.getIconWidth(), thisPic.getIconHeight());
window.add(viewer);	
window.setResizable(false);
topInset = window.getInsets().top;
System.out.println("topInset: "+topInset); //ist immer 0 ??```

Das Bild wird korrekt ausgegeben im Frame, also sollten doch die Werte von der Methode lesbar sein?

Eigentlich wollte ich diese Methode hier garnicht nutzen, sondern bei der initialisierung meiner Swing-Applikation (siehe Bild), aber dort stellte ich eben fest das ich nur diese 0 bekomme, deshalb der Versuch in einer anderen Methode in der ich mein Bild zeichne...

Das liefert erst einen Wert !=0, nachdem der Frame mit setVisible(true) sichtbar gemacht wurde. (Das sollte man aber erst ganz am Ende machen - also jetzt nicht irgendwo setVisible reinmurksen - stattdessen schauen, dass du das, was diese Werte benötigt, vielleicht erst später machen kannst)

Alles klar, vielen Dank!
Musste zwar ein bischen umbauen, aber jetzt gehts…
Diesen Hinweis sollte man für Anfänger wie mich in der API ergänzen :stuck_out_tongue_winking_eye: