# JSlider: ChangeListener löst dreimal aus?



## TobiTobsen (4. Jun 2009)

Hi,
meine JSlider senden einen ChangeEvent dreimal wenn ich einmal draufklicke...
Wie kann das sein? Ich will mit einem Event auch nur einmal etwas auslösen und nicht dreimal.

Kann mir jemand helfen?

Grüße


----------



## SlaterB (4. Jun 2009)

schau dir das Event an, da gibts bestimmt sowie wie getType(), womit du zwischen verschiedenen Events unterscheiden kannst,
oder poste ein Testprogramm, dann kann ich genauer nachforschen (aber besser selber machen)


----------



## TobiTobsen (4. Jun 2009)

Mal ein kurzes Testprogramm, da ist es auch der Fall:

 [Java]

public class SliderTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		JFrame frame = new JFrame();
		frame.setSize(300,300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JSlider sl = new JSlider ();

		sl.addChangeListener(new ChangeListener(){

			@Override
			public void stateChanged(ChangeEvent e) {
				System.out.println("Klick");
				System.out.println();
			}

		});


		frame.add(sl);

		frame.setVisible(true);
	}


}


[/Java]


----------



## SebiB90 (4. Jun 2009)

Während du den Slider rumschiebst gibt es halt mehrere Changes, daher mehrere Events.
Les dir das mal durch: BoundedRangeModel (Java 2 Platform SE v1.4.2)
Daher ValueIsAdjusting abfragen und nur wenns false is drauf reagieren, dann sollte es klappen.


----------



## TobiTobsen (6. Jun 2009)

Ah super danke! Toll!


----------

