O editor visual gera e interpreta código Java à medida que se for concebendo uma classe visual. O editor visual utiliza um estilo especial para o respectivo código java gerado, e tem regras para interpretar código Java.
O editor visual para Java gera código Java válido que pode ser devidamente compilado e executado. Além disso, quando o editor visual interpreta código Java existente, utiliza regras para determinar quais os elementos do código para tentar visualizar na vista Concepção.
Regras para interpretar código para apresentar na vista Concepção
O editor visual para Java tenta visualizar código na vista Concepção se o código cumprir
qualquer dos seguintes critérios:
Existem outros requisitos que o editor visual verifica antes de visualizar um componente na vista de Concepção gráfica:
- Os campos devem ser instanciados dentro de um método get, ou o
bean deve ser inicializado por um método de inicialização que esteja listado no separador Estilos de Padrão da página Preferências do editor visual.
- Não deve haver erro de compilação algum na linha.,
- A classe deve ser válida para carregar e instanciar.
- A maioria das expressões de inicialização de matriz não pode ser avaliada.
- Os argumentos complexos para um método podem ser entendidos, desde que as entidades que constituem o argumento estejam modeladas. Por exemplo, uma expressão que implique concatenação de cadeias com o operando + será avaliada devidamente, na maioria dos casos.
A maioria das expressões é satisfatoriamente interpretada, mas nem todas as expressões podem ser correctamente avaliadas. Neste caso, será emitido um sinal de aviso no
Java bean nas vistas, e a razão da falha será mostrada na linha de estado, quando o bean for seleccionado na vista Concepção ou na vista Java Beans.
Também é apresentado um ícone de aviso na tela:

Código gerado pelo editor visual
- O editor visual gera construtores predefinidos que chamam o método initialize(),
o qual define os valores das propriedades para a classe.
- No caso de applets, o código para definir os valores de propriedade iniciais chama-se init().
Não é chamado pelo construtor, dado que será executado pelo próprio browser da applet.
- Opcional: Pode especificar que o editor visual gere blocos try{}catch() para componentes. Isto irá apanhar continuamente cada excepção devolvida durante a inicialização, e o risco de as excepções serem suprimidas poderia aumentar.
Por conseguinte, é melhor deixar a excepção passar. Pode seleccionar esta opção no separador Geração de Código das preferências do editor visual ().
O código seguinte mostra um JPanel inicializado com o bloco try{}catch():
private JPanel getJPanel1() {
if (jPanel1 == null) {
try {
jPanel1 = new JPanel();
}
catch (java.lang.Throwable e) {
// TODO: Alguma coisa
}
}
return jPanel1;
}
O código seguinte mostra um JPanel sem o bloco de código try{}catch():private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
}
return jPanel;
}
- Opcional: Também pode especificar que o editor visual adicione um comentário assinalando cada expressão que for gerada. Tal poderá ser útil para distinguir código composto de código gerado. A linha de código seguinte é um exemplo do aspecto do comentário:
this.add(getJPanel(), null); // Generated
Para activar esta opção, seleccione a lista de selecção Gerar um comentário para novas expressões no separador Geração de Código das preferências do editor visual.
- No caso de Swing/AWT, embora o editor visual gere métodos como, por exemplo, getPanel(), que
instanciam e devolvem um único Java bean, tal não constitui requisito. Um método
pode instanciar mais de um Java bean, e o valor de retorno do método não é importante para reconhecer
se o campo é ou não um Java bean. Para que os campos anOKButton e
ivjTableModel sejam incluídos como Java beans, terão de ser instanciados
dentro de um método get na classe.
- No caso de SWT, o editor visual gera métodos private void createComposite() para cda classe que expanda Composite, e os eventuais beans descendentes são inicializados dentro do mesmo método.
- Se a classe editada expandir um Java bean, a instância que estiver a ser editada estará representada por um
Java bean especial chamado parte 'this'. A parte 'this' não pode ser eliminada da vista Concepção ou Java Beans, e o método de inicialização para as suas propriedades é executado no método initialize().
Uma parte 'this' só é mostrada nas vistas Concepção e Java Beans se houver propriedades disponíveis para definir na vista Propriedades. Os métodos definidos para as propriedades são gerados no método initialize(), ou se a classe expandir java.awt.Applet, será usado o método init().
- Se a classe editada implementar org.eclipse.ui.IWorkbenchPart, o código gerado para os controlos descendentes é adicionado ao método createPartControl(ascendente Composite).