Cómo escribir un Oyente de Change

Los eventos Cange ocurren cuando un componente que tiene estado cambia éste. Por ejemplo, una barra deslizadora genera un evento change cuando usuario mueve su cursor.

Métodos de Evento Change

El interface ChangeListener tiene sólo un método y por eso no tiene la correspondiente clase adaptadora:
void stateChanged(ChangeEvent)
Se le llama cuando el componente escuchado cambia de estado.

Ejemplos de Manejo de Eventos Change

Aquí el código de manejo de un evento change de una aplicación llamada SliderDemo:
class SliderListener implements ChangeListener {
    public void stateChanged(ChangeEvent e) {
        JSlider source = (JSlider)e.getSource();
        if (!source.getValueIsAdjusting()) {
            int fps = (int)((JSlider)e.getSource()).getValue();
            if (fps == 0) {
                if (!frozen) stopAnimation();
            } else {
                delay = 1000 / fps;
                timer.setDelay(delay);
                if (frozen) startAnimation();
            }
        }    
    }
}
El programa SliderDemo se describe en Cómo usar Barras deslizadoras. Puedes encontrar el programa completo en SliderDemo.java.

Aquí hay unos cuandos ficheros fuentes que también usan oyentes de change:

La clase ChangeEvent

El método stateChanged tiene un sólo parámetro: un objeto ChangeEvent. Para obtener el componente que generó el evento se usa el método getSource que ChangeEvent hereda de EventObject. LA clase ChangeEvent no define métodos adicionales.

Ozito