Toolbar - Problem bei enable/disable von Buttons

dzim

Top Contributor
Hi (Paddelpirat ;-) )

Ich hab da ein Problem mein setDisable(true/false) von Buttons in meiner globalen Toolbar:
Ich setze dieses Flag indem ich sie an einen Event Listener geknüpft habe. Prinzipiell funktioniert das auch (ich kann die Buttons verwenden - und da ich das selbe für die Menüs mache, auch diese), aber (leider ist da immer wieder ein "aber") manchmal - also eigentlich fast immer - sind die Buttons immer noch in der disable-Visualisierung, obwohl sie dort eben aktiv sein sollten.

Ich weiß jetzt nicht, ob das ein Problem mit der Linux-Implementierung von JFX ist, würde aber selbst auch noch versuchen wollen, das in den Griff zu bekommen. Leider weiß ich nur nicht wie.
Meine erste Idee wäre vielleicht, ein Layout und somit ein neu zeichnen zu erzwingen - nur ich weiß nicht so genau, wie das hier geht - in SWT war mir das klarer...

Viele Grüße,
Daniel
 
Ich weiß jetzt nicht, ob das ein Problem mit der Linux-Implementierung von JFX ist, würde aber selbst auch noch versuchen wollen, das in den Griff zu bekommen.

Hi 😉

unter Windows noch nicht getestet? 😉 Hmm, also am besten kleines Beispiel. Du meinst auch sicher EventHandler und nicht Listener, oder? Benutzt du darin Platform.runLater() ?

Sonst gerne wieder ein kleines Ausführbares Programm ums auszuprobieren.

Du bist ja echt fleißig mit JavaFX! Wünschte ich hätte auch was mehr Zeit, schreib aber momentan Diplomarbeit...
 
Hi!

Nun ja, ich hab ein wenig Zeit... Es gibt bei mir auf Arbeit gerade nichts dramatisch wichtiges. Ich schaffe alles was da anfällt sozusagen nebenbei.
Das wichtige ist: Mein Chef ist damit einverstanden, dass ich mich mit so etwas beschäftige, damit ich was sinnvolles für mich zu tun hab. Theoretisch will ich das Ganze dann ja auch noch in unsere große GUI (*hüstel*) packen - eine Eclipse-basierte (und somit SWT) Anwendung. Ich setze da große Stücke auf e(fxc)lipse und javafx.embbed.swt.FXCanvas. Vorher muss/will ich eben nur verstehen, wie ich es richtig mache...

Ich nutz primär übrigens Gnome3/Unity (ist vom verhalten her in mancher Beziehung doch sehr ähnlich) und hab die Anwendung mal mit XFCE probiert: Selbes Problem, aber nicht ganz so oft. Ich denke also mal wirklich das es hier etwas mit der GTK-Anbindung von JFX zu tun hat.

Wenn ich es mal auf GitHub hab, werde ich es auch mal unter Windows versuchen. Dann werde ich ja sehen, ob es ein prinzipielles oder ein GTK-spezifisches Problem ist.

Ich meinte auch EventHandler, hab hier aber nen eigenen geschrieben 😛 Ist ja nicht schwer...
Platform.runLater() kannte ich übrigens gar nicht :-/

So. Nun noch viel Erfolg bei deiner DA!

Daniel
 
Platform.runLater entspricht ja ziemlich dem SwingUtilities.invokeLater. Hab davon auch schon Gebrauch in meiner Anwendung machen müssen um per Knopfdruck einige Schaltflächen zu en- bzw. disablen. Aber weiß jetzt gerade nicht ob das bei deinem Problem helfen kann.

Hab in meiner Anwendung so was schönes eingebaut, dass wenn ich auf einen Knopf drücke die Schaltflächen disabled werden, dann ein Algorithmus gestartet wird, der in einem nebenläufig abgearbeitet werden soll, dessen Fortschritt in einer ProgressBar angezeigt wird und am Ende wenn alle Berechnungen getan sind, die Schaltflächen wieder enabled. Das hat schon einige Nerven gekostet ;-)

P.S.: Danke! ;-)

Edit: Und toller Chef 🙂 Hoffe ich habe auch so viel Glück!
 
Oh... Ich glaube, dass ist wirklich ein Bug:
Habe mir vom Tom Schindl die WindowDecoration-Geschichte angeschaut und bei mir eingebaut (hat damit aber nichts zu tun!) und habe beim testen dann festgestellt, dass nach einmaligen Maximieren des Fensters auf einmal alles funktioniert...

Wär hätte es gedacht! Ich nicht...
 

Zurück
Oben