JButton button = new JButton("OK"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Ok!"); }});
Tampoco es raro que desde la clase anónima, queramos acceder a algún elemento de la clase contenedora. En ese caso, podemos vernos tentados de usar this; pero, obviamente, si estamos dentro de la clase anónima, this hará referencia a la instancia de esa clase, no a la de la contenedora.
En este caso podemos usar como alternativa ClaseContenedor.this, quedando algo así.
public class ClaseContenedora extends JPanel{
int value = 0;
public ClaseContenedora() {
...
JButton button = new JButton("OK");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
ClaseContenedora.this.value++;
}});
...
} }
No hay comentarios:
Publicar un comentario
Cualquier aportación será bienvenida