Hallo,
ich habe ein kleines Java-Applet mit dem ich eine LCD-Anzeige ansteuere. Auf dem Applet befindet sich u.a. eine JSlider mit dem ich die Helligkeit des Display verändern kann. Zudem habe ich am Display selbst noch einen kleinen Knopf mit dem ich über einen Mikrocontroller die Helligkeit des Displays ändere.
Beide Steuerungen laufen auf der gleichen RS232-Schnittstelle auf. Das bietet den Vorteil, dass ich über einen ReadThreat im Java Applet live auslesen kann, was am Displayregler eingestellt wird.
Nun will ich realisieren, dass meine JSlider live mitläuft, wenn ich am Displayregler drehe. Zudem will ich aber immer noch auch über die JSlider die Helligkeit regeln können. Da kommt mir jetzt mein ChangeListener in die Quere. Wenn ich die Werte vom Displayregler mit "setvalue(...)" in die JSlider setzen will, interpretiert der JSlider-Change Listener das gleichzeitig als Change Event und schickt ebenfalls einen Befehl für die Helligketisregelung. Dabei sollte eigentlich nur die GUI Anzeige aktualisiert werden.
Wie kann ich das am elegantestens Lösen? Möglichkeiten die mir eingefallen sind:
1. Kombination aus MouseListener und ChangeListener, so dass die JSlider nur bei Mausklicks reagiert, nicht aber wenn ich die Anzeige aktualisiere. Nachteil: Zwei Listeners nötig.
2. Die JSliders nur über einen MouseListener ansteuern. Nachteil: JSlider lässt sich nicht "flüssig" von links nach rechts bewegen.
3. Irgendwas mit MouseMoved in Verbindung mit ChangeListener. Naja, fast wie Lösung 1.
Was sagt ihr dazu? Wie mache ich das am geschicktesten? Vielen Dank schonmal
ich habe ein kleines Java-Applet mit dem ich eine LCD-Anzeige ansteuere. Auf dem Applet befindet sich u.a. eine JSlider mit dem ich die Helligkeit des Display verändern kann. Zudem habe ich am Display selbst noch einen kleinen Knopf mit dem ich über einen Mikrocontroller die Helligkeit des Displays ändere.
Beide Steuerungen laufen auf der gleichen RS232-Schnittstelle auf. Das bietet den Vorteil, dass ich über einen ReadThreat im Java Applet live auslesen kann, was am Displayregler eingestellt wird.
Nun will ich realisieren, dass meine JSlider live mitläuft, wenn ich am Displayregler drehe. Zudem will ich aber immer noch auch über die JSlider die Helligkeit regeln können. Da kommt mir jetzt mein ChangeListener in die Quere. Wenn ich die Werte vom Displayregler mit "setvalue(...)" in die JSlider setzen will, interpretiert der JSlider-Change Listener das gleichzeitig als Change Event und schickt ebenfalls einen Befehl für die Helligketisregelung. Dabei sollte eigentlich nur die GUI Anzeige aktualisiert werden.
Wie kann ich das am elegantestens Lösen? Möglichkeiten die mir eingefallen sind:
1. Kombination aus MouseListener und ChangeListener, so dass die JSlider nur bei Mausklicks reagiert, nicht aber wenn ich die Anzeige aktualisiere. Nachteil: Zwei Listeners nötig.
2. Die JSliders nur über einen MouseListener ansteuern. Nachteil: JSlider lässt sich nicht "flüssig" von links nach rechts bewegen.
3. Irgendwas mit MouseMoved in Verbindung mit ChangeListener. Naja, fast wie Lösung 1.
Was sagt ihr dazu? Wie mache ich das am geschicktesten? Vielen Dank schonmal