UndoableEditListener - agregando a JLabel y JTextPane

Tengo un panel de 9x9, que es panel1[][] cada panel tiene un JLabel, así quelabel1[][]

y agrego cada etiqueta al panel en bucle for:

for (int y = 0; y < 9; y++) {
        for (int x = 0; x < 9; x++) {
            label[y][x] = new Grid(x, y);
            panel1[y][x].add(label[y][x]);                
        }
    }

El objetivo principal es poder agregar un addUndoableEditListener () a cada uno de estos JLabels. Los usuarios seleccionarán un número (int) para colocar en el JLabel, quiero que puedan deshacer / rehacer su selección, haciendo clic en el botón deshacer / rehacer.

Lo intenté:

UndoManager manager = new UndoManager();
label1.addUndoableEditListener(manager);

Sin embargo, vi que, al parecer, no se puede agregar "UndoableEditListener" a JLabels. (¿Derecho?)

Vi algunos ejemplos en los que podría agregar "UndoableEditListener" a JTextPane, por lo que tal vez podría crear un panel JTextPane [9] [9] y agregar un panel de texto a cada uno de los JLabels (que se agregan al JPanel). Entonces esto resolvería el problema de UndoableEditListener.

¿Esto parece lógico? Realmente agradecería un enfoque más fácil para esto, todas las sugerencias son bienvenidas :)

Solo tengo algunos problemas al agregar UndoableEditListener a los componentes.

(Preferiría mantener el JLabel, ya que necesito poder cambiar la función de color de fondo, de lo contrario, ¿hay una mejor manera?)

Gracias.

Respuesta 1

Estoy enfrentando un problema con el controlador jdbc de SAS que no había visto antes, y me preguntaba cuál sería el comportamiento correcto de JDBC. Supongamos que tengo algunos ResultSetMetaData: metadata.getColumnName (index) -> ...

Implementación de pila. ¿Cómo podemos crear un archivo tipo "Nodo" en una clase de Nodo? ¿Cómo puede la variable "primero" del tipo "Nodo" contener un archivo de tipo "Nodo"? Gracias por la ayuda de la clase pública Pila {Nodo privado ...

Sabemos que si queremos lograr una herencia múltiple en Java podemos usar interfaces. Si una clase implementa dos interfaces que tienen la misma firma de método, ¿cómo logró la herencia múltiple ...

Durante unos días he leído este y otros tutoriales sobre javax.crypto Uso de modos de bloque y vectores de inicialización en Java Mi código de prueba a continuación es un Cliente que envía datos a un Servidor. Yo leo sobre ...