Wie kann ich überprüfen, ob der Wert eines JSliders oder JSpinner über die grafische Oberfläche eingestellt wurde und nicht über die Methode setValue(int n)
?Wie überprüft man, ob der Wert manuell gesetzt wurde und nicht mit setValue (JSlider, JSpinner)?
Antwort
Setzen Sie einen booleschen Wert auf "true", wenn Sie setValue programmgesteuert (vor dem Aufruf) aufrufen, und setzen Sie ihn auf "false" zurück, wenn Sie mit der Ereignisbehandlung fertig sind.
Intern wird'setValue' aufgerufen. Sie können versuchen, das Ereignis abzufangen, wenn der Benutzer den Schieberegler bewegt, indem er eine ChangeListener implementiert, um dieses Ereignis zu erfassen. Denken Sie außerdem daran, dass das Bewegen des Knopfes viele Änderungsereignisse auslöst. Wenn Sie sich also für den endgültigen Wert des Schiebereglers interessieren, verwenden Sie den Wert getValueIsAdjusting
, wenn er false
ergibt.
Wenn das Problem ein ChangeListener
ist withing, versuchen Sie die JSlider Komponente erstreckt und eine neue Methode hinzufügen, die den neuen Wert erhält und wer gibt es (mit einem int-Code oder einer Enumeration, zum Beispiel), um die Einstellung Ableiten des Werts, nachdem Sie Ihre benutzerdefinierte Logik auf die reale setValue-Methode festgelegt haben.
In Ihrem Fall wollen Sie die Invokation von setValue
verhindern, wenn eine bestimmte Komponente es aufruft, wenn ich mich nicht irre.
Ich habe bereits das Ereignis gefangen, das Problem ist innerhalb des Ereignisses, weil es zwei Objekte voneinander abhängig sind und sie eine andere Werte ändern, so dass sie in einer Endlosschleife erhalten, deshalb Ich muss die Art der Veränderung erkennen. –
@ AndrewG.H. Ich habe meine Antwort aktualisiert. – Gamb
- 1. Wie überprüft man, ob WaitHandle gesetzt wurde?
- 2. Wie überprüft man, ob LogWriter eingestellt wurde?
- 3. Wie überprüft man, ob ein unittest.mock.Mock return_value gesetzt hat?
- 4. Python: Wie überprüft man, ob ein optionaler Funktionsparameter gesetzt ist
- 5. Wie überprüft man, ob in der Tabellenspalte Text angegeben wurde?
- 6. Wie man überprüft, ob der Dalvik Cache geändert wurde
- 7. Python Selenium: Wie überprüft man, ob der WebDriver beendet wurde()?
- 8. Wie überprüft man, ob ein Feld deklariert wurde oder nicht?
- 9. Wie überprüft man, ob eine Zeichenkette früher mit iabbr (full match) gesetzt wurde
- 10. Wie überprüft man, ob EnableViewStateMac zur Laufzeit gesetzt ist?
- 11. Wie überprüft man, ob php: // Eingabe gesetzt ist?
- 12. JavaScript: Wie überprüft man, ob ein Event gesetzt ist?
- 13. Wie überprüft man, ob ein Schlüssel in chrome.storage gesetzt ist?
- 14. TCL: Wie überprüft man, ob die Umgebungsvariable bereits gesetzt ist
- 15. Wie überprüft man, ob der Wert im Unittest nan ist?
- 16. Wie überprüft man, ob einer der Dateieingabetypen einen Wert hat?
- 17. Wie überprüft man, ob der Wert im Array wahr ist
- 18. Wie überprüft man, ob der String ausgelöst wird "Ein potentiell gefährlicher Request.Form-Wert wurde gefunden ..." Fehler
- 19. Wie überprüft man, ob eine Umgebungsvariable entweder nicht gesetzt oder auf die leere Zeichenfolge gesetzt ist?
- 20. Wie überprüft man, ob die XSLT-Anweisung ausgeführt wurde
- 21. Wie überprüft man, ob der EGL-Kontext erhalten wurde oder nicht?
- 22. C# wie man benutzt bekommt; um einen Wert zurückzugeben, wenn der Wert nicht gesetzt wurde?
- 23. Wie überprüft man, ob Entität in Doctrine 2 geändert wurde?
- 24. Wie überprüft man, ob NSTimer bereits ungültig gemacht wurde
- 25. Wie überprüft man, ob die Standardkonfiguration in CI3 geladen wurde?
- 26. Wie überprüft man, ob der Bildschirmschoner läuft?
- 27. Wie überprüft man, ob/welche Matplotlibre verwendet wurde
- 28. Wie überprüft man, ob ein Bild in js zwischengespeichert wurde?
- 29. MySQL Wie überprüft man, ob die Abfrage erfolgreich ausgeführt wurde?
- 30. Wie überprüft man, ob ein Textfeld nicht leer ist und der Wert kleiner als 500 ist?
Grafische Schnittstelle intern nennt 'setValue' so keine Möglichkeit – Archer