Den visuelle editor genererer og analyserer Java-kode, efterhånden som du designer en visuel klasse. Den visuelle editor bruger en bestemt typografi til den genererede Java-kode og har regler for analysering af Java-kode.
Den visuelle editor til Java genererer gyldig Java-kode, som kan kompileres korrekt og udføres. Når den visuelle editor analyserer eksisterende Java-kode, bruger den regler til at bestemme, hvilke elementer af koden der skal bruges til at vise oversigten Design.
Regler for analysering af kode, der skal vises i oversigten Design
Den visuelle editor til Java forsøger at vise kode i oversigten Design, hvis koden opfylder
blot ét af følgende kriterier:
Der er andre krav, som den visuelle editor kontrollerer for, inden en komponent kan vises i den grafiske oversigt Design:
- Felter skal instantieres i en get-metode, eller bean'en skal initialiseres af en initialiseringsmetode, som findes i listen på skillebladet
Mønstertypografi på den visuelle editors indstillingsside.
- Der må ikke være kompileringsfejl på linjen.
- En klasse skal være gyldig for at kunne indlæses og instantieres.
- De fleste array-initialiseringsudtryk kan ikke evalueres.
- Komplekse metodeargumenter kan forstås, sålænge de indgange, der udgør argumentet, er modelleret. Et udtryk, der f.eks. involverer strengsammenkædning vha. operanden +, evalueres korrekt i de fleste tilfælde.
De fleste udtryk analyseres korrekt, men ikke alle udtryk kan evalueres korrekt. Hvis det er tilfældet, vises en advarsel for Java-bean'en i oversigterne, og årsagen til fejlen vises i statuslinjen, når bean'en vælges i oversigten Design eller Java-beans.
Der vises også en advarselsikon på lærredet:

Kode genereret af den visuelle editor
- Den visuelle editor genererer standardkonstruktører, der kalder metoden initialize(),
som angiver værdierne for klassens egenskaber.
- For miniprogrammer kaldes koden til at angive de oprindelige egenskabsværdier init().
Denne kaldes ikke af konstruktøren da den udføres af miniprogrambrowseren.
- Valgfrit: Du kan angive, at den visuelle editor skal generere try{}catch()-blokke for komponenter. Derved opfanges konstant hver undtagelse, der returneres under initialiseringen, og risikoen for undertrykkelse af undtagelser kan stige.
Derfor er det bedre at lade undtagelser passere i stedet for. Du kan vælge denne indstilling på skillebladet Kodegenerering under indstillingerne til den visuelle editor
().
Følgende kode viser et JPanel, der er initialiseret med try{}catch()-blokken:
private JPanel getJPanel1() {
if (jPanel1 == null) {
try {
jPanel1 = new JPanel();
}
catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jPanel1;
}
Følgende kode viser et JPanel, der er initialiseret med try{}catch()-blokke for koden: private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
}
return jPanel;
}
- Valgfrit: Du kan også angive, at den visuelle editor skal tilføje en kommentarmarkering for hvert udtryk, den genererer. Dette kan være nyttigt, så det er muligt at skelne mellem håndskreven kode og genereret kode. Følgende linje kode er et eksempel på, hvordan kommentaren kan se ud:
this.add(getJPanel(), null); // Genereret
Du aktiverer denne indstilling ved at markere afkrydsningsfeltet Generér en kommentar til et nyt udtryk på skillebladet Kodegenerering under indstillingerne til den visuelle editor.
- For Swing/AWT: Selvom den visuelle editor genererer metoder, som getPanel(), der instantierer og returnerer en enkelt Java-bean, er det ikke et krav. En metode kan instantiere mere end én Java-bean, og metodens returværdi er ikke vigtig ved bestemmelse af, om feltet er en Java-bean. For at
felterne anOKButton og ivjTableModel kan inkluderes, skal de instantieres inden for en get-metode i klassen.
- For SWT genererer den visuelle editor private void createComposite()-metoder for hver klasse, der udvider Composite, og alle underordnede beans i den samme metode instantieres.
- Hvis den redigerede klasse udvider en Java-bean, repræsenteres den forekomst, der redigeres, med en særlig Java-bean, der kaldes en 'this'-del. Denne 'this'-del kan ikke slettes fra oversigterne Design eller Java-beans, og initialiseringsmetoden for dens egenskaber udføres i metoden initialize().
En 'this'-del vises kun i oversigterne Design og Java-beans, hvis der er egenskaber, som er tilgængelige til at
angive for oversigten Egenskaber. Set-metoderne for egenskaberne genereres i metoden initialize(),
eller hvis klassen udvider java.awt.Applet, benyttes metoden init().
- Hvis den redigerede klasse implementerer org.eclipse.ui.IWorkbenchPart, føjes den genererede kode underordnede kontrolelementer til metoden createPartControl(Composite parent).