Hey,
Ich habe gerade ein kleines Problem mit den (Extended)States eines JFrame. Irgendwie kapier ich die Logik dahinter nicht gnaz. Ich möchte gerne die aktuelle Größe des Frames im NICHT-maximierten und NICHT-minimierten Zustand abfragen.
Mit maximierten Frame klappt das auch:
Ich wechsle erst zum normalen Zustand, da ich sonst nicht weiß wie ich auf die nicht-maximierte Größe zugreifen könnte?! Nun denn, es funktioniert und liefert mir die urspürngliche Größe (die das Frame hat wenn man es aus dem maximierten Zustand wiederherstellt).
Aber wenn das Fenster maximiert UND minimert ist, klappt das nicht:
Der Wert auf den ich prüfe stimmt schon. Die Addition beider Werte ist genau der Zustand den man hat wenn das Fenster zwar gemaxed ist, aber grad minimiert. Aber das wechseln zum normalen Zustand funktioniert hier einfach nicht, und es wird mir die Größe im maximierten Zustand geliefert.
Ich weiß dass er intern bitweise Verknüpfungen macht. Aber die Konstante NORMAL hat den Wert 0, und setExtendedState() macht eine ganz einfache Zuweisung zu der state-Variablen. Eigentlich müsste er das Fenster damit aus dem minimierten Zustand rausholen?!
Also wie kann ich die eigentliche, nicht-maximierte Größe herausfinden wenn das Frame gerade minimiert ist? Und generell: Das geht doch auch besser? Es scheint mir komisch dass ich erstmal programmatisch in einen anderen State wechseln muss um die Größe abfragen zu können. Was ich suche ist eigentlich sowas wie getNonMaximizedSize(). Irgendwo muss er sich das ja abspeichern um beim Klick auf Wiederherstellen in die alte Größe zu kommen, ich hab jetzt auf die schnelle im Source aber auch nicht gesehen wo er das abspeichert.
Danke
Ich habe gerade ein kleines Problem mit den (Extended)States eines JFrame. Irgendwie kapier ich die Logik dahinter nicht gnaz. Ich möchte gerne die aktuelle Größe des Frames im NICHT-maximierten und NICHT-minimierten Zustand abfragen.
Mit maximierten Frame klappt das auch:
Java:
if(getExtendedState() == MAXIMIZED_BOTH){
setExtendedState(NORMAL);
// getWidth/getHeight
}
Ich wechsle erst zum normalen Zustand, da ich sonst nicht weiß wie ich auf die nicht-maximierte Größe zugreifen könnte?! Nun denn, es funktioniert und liefert mir die urspürngliche Größe (die das Frame hat wenn man es aus dem maximierten Zustand wiederherstellt).
Aber wenn das Fenster maximiert UND minimert ist, klappt das nicht:
Java:
if(getExtendedState() == MAXIMIZED_BOTH + ICONIFIED){
setExtendedState(NORMAL);
// getWidth/getHeight
}
Der Wert auf den ich prüfe stimmt schon. Die Addition beider Werte ist genau der Zustand den man hat wenn das Fenster zwar gemaxed ist, aber grad minimiert. Aber das wechseln zum normalen Zustand funktioniert hier einfach nicht, und es wird mir die Größe im maximierten Zustand geliefert.
Ich weiß dass er intern bitweise Verknüpfungen macht. Aber die Konstante NORMAL hat den Wert 0, und setExtendedState() macht eine ganz einfache Zuweisung zu der state-Variablen. Eigentlich müsste er das Fenster damit aus dem minimierten Zustand rausholen?!
Also wie kann ich die eigentliche, nicht-maximierte Größe herausfinden wenn das Frame gerade minimiert ist? Und generell: Das geht doch auch besser? Es scheint mir komisch dass ich erstmal programmatisch in einen anderen State wechseln muss um die Größe abfragen zu können. Was ich suche ist eigentlich sowas wie getNonMaximizedSize(). Irgendwo muss er sich das ja abspeichern um beim Klick auf Wiederherstellen in die alte Größe zu kommen, ich hab jetzt auf die schnelle im Source aber auch nicht gesehen wo er das abspeichert.
Danke