El editor visual genera y analiza código Java mientras diseña la clase visual. El editor
visual utiliza un estilo concreto para su código Java generado y tiene reglas para analizar el código Java.
El editor visual para Java genera código Java válido que se puede compilar
y ejecutar adecuadamente. Además, cuando el editor visual analiza código Java
existente, utiliza reglas para determinar los elementos del código e intentar
visualizar una vista de Diseño.
Reglas para analizar código para visualizar en la vista Diseño
El editor visual para Java intenta visualizar código en la
vista Diseño si dicho código cumple
alguno de los criterios siguientes:
Hay otros requisitos que el editor visual comprueba antes de visualizar un
componente de la vista Diseño gráfico:
- Los campos se deben instanciar en un método get, o el bean se debe
inicializar por parte de un método de inicialización que se liste en la pestaña
Estilos de patrones de la página Preferencias del editor visual.
- No debe haber errores de compilación en la línea.
- Para cargarla e instanciarla, una clase debe ser válida.
- La mayoría de las expresiones de inicalización de matriz no se pueden
evaluar.
- Los argumentos complejos para un método pueden entenderse mientras se
modelen las entidades que componen el argumento. Por ejemplo, una expresión que implique la concatenación de series utilizando
el operando + se evaluará adecuadamente en la mayoría de los casos.
La mayoría de las expresiones se analizan correctamente, pero no todas las
expresiones se pueden evaluar correctamente. En este caso, en las vistas se mostrará
una señal de aviso con respecto al bean Java, y la razón del error se muestra en la
línea de estado cuando se seleccione el bean en las vistas Diseño o Beans Java.
También se visualiza un icono de aviso en el lienzo:

Código generado por el editor visual
- El editor visual genera constructores por omisión que llaman al método
initialize(), que establece los valores de las propiedades para la
clase.
- Para applets, el código para establecer los valores de propiedad iniciales
se denomina init().
No lo llama el constructor, ya que lo ejecutará el propio
navegador de applets.
- Opcional: puede especificar que el editor visual genere bloques
try{}catch() para componentes. Así, se capturarán
de forma continuada las excepciones lanzadas durante la inicialización y el
riesgo de excepciones suprimidas se podría incrementar.
Por lo tanto, es mejor dejar que la excepción siga adelante. Se puede seleccionar
esta opción en la ficha Generación de código de las preferencias del editor
visual ().
El código siguiente muestra un JPanel inicializado con
el bloque try{}catch():
private JPanel getJPanel1() {
if (jPanel1 == null) {
try {
jPanel1 = new JPanel();
}
catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jPanel1;
}
El código siguiente muestra un JPanel sin el bloque de código
try{}catch():private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
}
return jPanel;
}
- Opcional: También se puede especificar que el editor visual añada un
comentario para marcar cada expresión que genere. Esto podría ser útil para distinguir
el código escrito a mano y el generado automáticamente. La línea de código siguiente
es un ejemplo de cómo sería un comentario:
this.add(getJPanel(), null); // Generado
Para activar esta opción, marque el recuadro de selección
Generar un comentario para expresiones nuevas
en la ficha Generación de código de las preferencias del editor visual.
- Para Swing/AWT, aunque el editor visual genera métodos como
getPanel() que instancian y devuelven un bean Java único, no es un
requisito. Un método puede instanciar más de un bean Java, y el valor de retorno del método no es
importante para reconocer si el campo es un bean Java. Para incluir los campos
anOKButton y ivjTableModel como beans
Java, es necesario instanciarlos en un método get en la clase.
- Para SWT, el editor visual genera métodos private
void createComposite() para
toda clase que amplíe Composite, y los beans hijos se inicializan en el mismo
método.
- Si la clase editada amplía un bean Java, la instancia que se está editando
se representa por medio de un bean Java especial denominado componente
'this'. El componente 'this' no se puede suprimir de las vistas Diseño o Beans Java,
y el método de inicialización para sus propiedades se realiza en el método
initialize().
El componente 'this' solo se muestra en las vistas Diseño y Beans Java si hay alguna propiedad que
esté disponible para su establecimiento en la vista Propiedades. Los métodos
set de las propiedades se generan en el método
initialize() o, si la clase amplía
java.awt.Applet, se utiliza el método
init().
- Si la clase editada implementa org.eclipse.ui.IWorkbenchPart, el código
generado para los controles hijos se añaden al método
createPartControl(Composite parent).