Swing Event das ausgelöst wird, sobald Änderung der Größe Abgeschlossen ist

P@u1

Aktives Mitglied
Hallo zusammen,

ich möchte es irgendwie hinkriegen, dass bestimmte anweisungen ausgeführt werden, sobald die Änderung der Größe meines Fensters (JFrame) bzw. des JPanels abgeschlossen ist.
Ich habe bisher nur Möglichkeiten gefunden, bei denen sofort etwas ausgelöst wird, sobald man anfängt die Größe zu ändern, das will ich aber nicht.
Ich habe folgendes gefunden:
Java Swing: Do something when a component has *finished* resizing - efreedom

So 100%ig hab ichs aber nicht verstanden.
Ist das eine gute Lösung und wäre das auch auf JFrame/JPanel übertragbar?
Wenn ja, wäre ich sehr dankbar für eine konkrete Lösung, welche auch für JFrame/Panel funktioniert.
Welche Property muss ich da abfragen?

Ein andere Idee von mir war das mit einem Timer zu machen, der immer wieder neu startet, wenn noch resized wird, der Nachteil ist nur, dass es dann eine Verzögerung geben wird und ich nichtmal genau weiß, wie ich einen Timer neustarte (macht man das mit cancel und danach neu schedulen? Ich hatte mal bei cancel das Problem, dass es eine Exception gibt, falls der Timer gar nicht an war...).

Vielen Dank schonmal für eure Hilfe!
 
hat denn niemand eine Idee?
Das ist schon relativ wichtig für mich.
Falls ihr keine andere Lösung kennt, würde ich mich ja auch schon freuen, wenn mir jemand erklären kann, wie man das mit einem Timer (als Notlösung dann) am besten umsetzt.
 
Warum sagst du denn "ist das auf ein JPanel/JFrame übertragbar"? In dem Link den du oben gepostet hast hat er's doch auch mit nem JPanel gemacht. Naja ich denke schon das diese Methode Okay ist, hab aber in der Hinsicht keine Erfahrung.
 
Bei denen ist das doch eine JXTaskPane und kein JPanel, oder?
Ich meine übrigens die Lösung die unten bei Answer steht.
 
Oh sorry ich hab net bis nach ganz unten gelesen, dachte du meinst diesen Code:
Java:
panel.addComponentListener(new ComponentListener()
{   
    public void componentResized(ComponentEvent e)
    {
        // ...
    }
}
Denn hierrüber steht:
To achieve this, I added a component listener to my container JPanel which would set size to the now expanded panel.
 

Zurück
Oben