Hola:
Cuando heredas de una clase, puedes sobreescribir los métodos de la clase padre, bien para cambiar su comportamiento, bien porque la clase padre es abstracta y necesitas implementar ese método, o incluso la clase padre es una interfaz y necesitas implementar todos sus métodos.
En java, al tirar mucho de interfaces y clases abstractas (todo tipo de listeners como ActionListener, MouseLintener, TableModelListener, etc) es muy habitual heredar e implementar métodos, a veces, a lo tonto, como el caso de ActionListener que sólo tiene un método o de Runnable, que sólo tiene un método. Así que java ofrece una forma "ágil" de definir una clase hija con estos métodos sobre la marcha, que es lo que estás viendo.
Cuando haces algo como lo que muestras, estás en realidad creando una clase hija (de JTable en tu caso) con un método sobreescrito (getCellEditor()). Es más habitual ver esto en botones así
Código Java:
Ver originaljbutton.addActionListener (
// Aqui lo que tiene que hacer el botón cuando lo pulsas
}
}
);
Aquí estás creando una clase hija (que implementa) ActionListener y definiendo su método sobre la marcha. Te ahorras crear una clase de verdad con fichero java incluido que implemente la interfaz. La "pega" es que esa clase hija no puedes utilizarla en más sitios, la has creado sobre la marcha y no tiene un nombre "ClaseHija" con el que poder hacer nuevos news.
Si miras los ficheros.class generados, verás que hay uno estilo NombreClase$1.class (o algo así) . Esa es la clase hija de ActiloListener que has creado al vuelo. En tu proyecto, deberías tener algo parecido para la clase hija de JTable al vuelo.
Se bueno.