Java: manejar de manera transparente el evento de cambio de estado

Tengo una vista que tiene varios botones de "bandera" ( JToggleButton). Cuando el usuario hace clic en un botón de marca, quiero actualizar una matriz que realiza un seguimiento de qué botones están marcados. Esto es bastante simple, y esto es lo que he hecho:

...
   bflag[i].addItemListener(this); //View listens to state change
...

void itemStateChange(ItemEvent ie) {
   try {
      jtb = (JToggleButton)ie.getSource();
      //Update mark array
   }
   catch (ClassCastException cce) {}
}

Esto funciona bien, pero es feo con el try / catch. Preferiría hacer algo como esto:

void itemStateChange(ItemEvent ie) {
   handleStateChange(ie.getSource());
}

void handleStateChange(JToggleButton jtb) {
   //handle state change
}

void handleStateChange(Object o) {}

Esto es mucho mejor, pero el único problema es que el Objectmétodo se disparará incluso si la fuente es un JToggleButton(porque a JToggleButtones un Objectdespués de todo).

También he considerado usar el envío doble, pero esto requeriría anular el JToggleButtonmétodo que se activa itemStateChange(), y no sé qué es eso (y eso parece inseguro).

¿Alguna sugerencia sobre cómo hacer que esto funcione sin un intento / captura, verificación condicional, etc.?

Respuesta 1

Entonces, mi médico me pidió que implemente treeSort () y luego lo pruebe en int [1000000] y calcule el tiempo. Tengo la clase BSTree <E> que contiene los siguientes métodos: public void treeSort (E [] ...

Hola, estoy cargando un archivo al servidor usando el socket y necesito el porcentaje de archivo cargado, ¿cómo puedo hacer eso? Tengo el valor máximo, es decir, la longitud del archivo, ¿cómo puedo obtener la cantidad de archivo que se ha cargado? ...

En java estoy escribiendo algunos objetos DTO, que todos heredan de AllocationDTO. Luego se pasa una lista de estos objetos a un objeto DAO para guardar en la base de datos. Dependiendo de qué subtipo de ...

He desarrollado una aplicación en la que busco libros mediante la búsqueda de googleapibook. Tengo un isbn no. Ahora quiero dejar que mi usuario lea ese libro página por página. Pero no encontré ningún método o solución para ...