zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

sliderV.setPreferredSize( new Dimension( 50, 300) );

ChangeListener

Bouncing Change

Wenn der Anwender den Schieberegler über den Slider zieht, wird ein Change-Event erzeugt. Die Anzahl der Ereignisse hängt von der Geschwindigkeit ab, mit der der Anwender den Schieberegler zieht. Langsames Ziehen erzeugt ein Ereignis jedes Mal, wenn der Schieberegler einen Integer überfährt. Ein Event-Listener muss möglicherweise sehr viele Ereignisse handhaben.

Ein Listener für einen Slider wird über die ChangeListener Schnittstelle implementiert. Die Schnittstelle hat eine einzige Methode:

public void stateChanged( ChangeEvent evt )

Ein Objekt, dass das Interface implementiert, muss den Slider registrieren, um Ereignisse zu empfangen:

slider.addChangeListener( ChangeListener lstn )

Oft, besonders bei kleineren Projekten, ist der Frame, der den Slider enthält, auch sein Listener.

FRAGE 8:

Angenommen Sie haben eine Frame Klasse, die einen Slider enthält und ChangeListener implementiert. Registrieren Sie ein Objekt dieser Klasse mit dessen Slider:

sliderV = new JSlider( JSlider.VERTICAL,  0, 1000, 400);
sliderV.setMajorTickSpacing( 100 );
sliderV.setMinorTickSpacing(  50 );
sliderV.setPaintTicks ( true );
sliderV.setPaintLabels( true );

sliderV.addChangeListener(  );

Hinweis: das ist das Gleiche , wie wir es mit Frames getan haben, die ActionListener für ihre Buttons implementiert haben.