tutorial por para nombre elementos ejemplos ejemplo directives directivas directiva código cuál crear con como atributo archivo agregar java swing jtable anonymous-class initializer

por - Bloque de inicialización de Java



directivas angular 4 ejemplos (2)

¿Alguien puede ayudarme a entender el siguiente constructo? Tengo problemas para entender si esto es un inicializador o una clase anónima. No estoy familiarizado con esta sintaxis.

JTable jt = new JTable(data, fields) **{ public TableCellRenderer getCellRenderer(int row, int column) { // TODO Auto-generated method stub return renderer; } };**


Crea una clase interna anónima que extiende JTable y anula el método getCellRenderer.

Larga explicación

estás creando una clase que amplía JTable sin asignarle explícitamente un nombre en lugar de usar una declaración de clase estándar:

public class ExtendedJTable extends JTable{}

La visibilidad de esta clase está limitada a la clase dentro de la cual está definida e instanciada. Es bastante útil, por ejemplo, cuando necesita, como en el código que publicó, anular un método (getCellRenderer ()) de una clase en particular (JTable), para algunos fines limitados al contexto de clase actual.

Este enfoque tiene algunos beneficios y también algunas limitaciones. Para una discusión más profunda, eche un vistazo a este artículo .


Estás haciendo 2 cosas aquí:

  • crea un objeto de una clase que extiende JTable. Esta es una clase anónima porque no está declarada por separado en ningún otro lado.
  • En esta clase, usted anula el método getCellRenderer de JTable (int row, int column);