Several Swing components (including JTabbedPane , JViewPort) rely on change events for basic functionality — sliders, color choosers and spinners. To learn when the value in a slider changes, you need to register a change listener. Similarly, you need to register a change listener on a color chooser to be informed when the user chooses a new color. You register a change listener on a spinner , a component introduced in release 1.4, to be notified when the spinner's value changes.
Here is an example of change event handling code for a slider:
//...where initialization occurs: framesPerSecond.addChangeListener(new SliderListener()); ... class SliderListener implements ChangeListener { public void stateChanged(ChangeEvent e) { JSlider source = (JSlider)e.getSource(); if (!source.getValueIsAdjusting()) { int fps = (int)source.getValue(); ... } } }
SliderDemo
in the
example index for Using Swing Components
.
Because ChangeListener
has only one method,
it has no corresponding adapter class.
Method | Purpose |
---|---|
stateChanged(ChangeEvent) | Called when the listened-to component changes state. |
Method | Purpose |
---|---|
Object getSource()
(in java.util.EventObject )
|
Returns the object that fired the event. |
Example | Where Described | Notes |
---|---|---|
SliderDemo and
SliderDemo2
|
Getting Started | Registers a change listener on a slider that controls animation speed. The change listener ignores the change events until the user releases the slider. |
ColorChooserDemo and
ColorChooserDemo2
|
How to Use Color Choosers | Uses a change listener on the selection model of a color chooser to learn when the user changes the current color. |
SpinnerDemo3
|
Detecting Spinner Value Changes in How to Use Spinners . | Uses a change listener on a date-field spinner to change the color of the text as the spinner's date changes. |
SpinnerDemo4
|
Detecting Spinner Value Changes in How to Use Spinners . | Uses a change listener on a spinner to cycle through the gray scale as the spinner's value changes. |
ConverterRangeModel
and its subclass, FollowerRangeModel
|
Getting Started | Implement custom models for the sliders used
in the
Converter demo.
Both models explicitly fire change events when necessary.
|