A vizuális szerkesztő létrehozza és értelmezi a Java kódot a vizuális osztály tervezése
során. A vizuális szerkesztő egy bizonyos stílust használ az általa létrehozott Java kódhoz, és
szabályokkal rendelkezik a Java kód értelmezéséhez.
A Visual Editor for Java által előállított Java kód helyes, lefordítható
és futtatható. Ezenkívül a vizuális szerkesztő a meglévő Java kód elemzése során
bizonyos szabályok alapján határozza meg a Terv nézetben megjelenítendő
kódelemeket.
A kód értelmezési szabályai a megjelenítéshez a Terv nézetben
A vizuális szerkesztő azokat a kódelemeket jeleníti meg a Terv nézetben, amelyek
megfelelnek az alábbi követelmények
bármelyikének:
A komponens Terv nézetbeli vizuális megjelenítése előtt a vizuális szerkesztő más
követelményeket is ellenőriz:
- A mezőket egy get metóduson belül kell
példányosítani, vagy a komponenst egy olyan metódussal kell inicializálni,
amely szerepel a vizuális szerkesztő Beállítások párbeszédablakának Mintastílusok
lapján.
- A sor nem tartalmazhat fordítási hibát
- Az osztálynak betölthetőnek és példányosíthatónak kell lennie.
- A legtöbb tömbinicializáló kifejezés nem értékelhető ki.
- Egy metódushoz összetett argumentumok is megérthetők, amíg az argumentumot létrehozó
entitások modellezettek. Egy '+' operandust tartalmazó karaktersorozat-összefűzést tartalmazó
kifejezés például a legtöbb esetben megfelelően fog kiértékelésre kerülni.
A legtöbb kifejezés értelmezésre kerül, de nem mindegyik értékelődik ki. Ebben az esetben a Java komponens mellett egy figyelmeztető jel jelenik meg a
nézetekben, és ha a Terv vagy Java Beans nézetben kijelöli a
komponenst, akkor a hiba oka is megjelenik az állapotsorban.
A rajzolási területen egy figyelmeztető ikon is megjelenik.

A vizuális szerkesztő által előállított kód
- A vizuális szerkesztő által létrehozott alapértelmezett konstruktor az
initialize() metódust hívja, amely beállítja az
osztály tulajdonságainak értékét.
- A kisalkalmazások esetében a tulajdonságok kezdeti értékeinek beállítására
szolgáló metódus az init().
Ezt azonban nem a
konstruktor hívja, hanem maga a kisalkalmazás böngésző.
- Elhagyható: Előírhatja, hogy a vizuális szerkesztő hozzon létre
try{}catch() blokkokat a komponensekhez. Ekkor az inicializálás
során történt összes kivétel elfogásra kerül, és az elsikkadt kivételek veszélye megnő.
Ezért jobb megoldás, ha elengedi a kivételeket. Ezt a
beállítást a vizuális szerkesztő Tulajdonságok párbeszédablakának
() Kód előállítása lapján adhatja meg.
Az alábbi kód egy try{}catch() blokkal inicializált JPanel keretet tartalmaz:
private JPanel getJPanel1() {
if (jPanel1 == null) {
try {
jPanel1 = new JPanel();
}
catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jPanel1;
}
Az alábbi kód egy try{}catch() blokk nélküli JPanel
keretet tartalmaz:private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
}
return jPanel;
}
- Elhagyható: Azt is előírhatja, hogy a vizuális szerkesztő az általa
létrehozott kifejezéseket megjegyzéssel lássa el. Ez a kézzel írott és az
előállított kód megkülönböztetéséhez lehet hasznos. Az alábbi kódsor egy ilyen
megjegyzésre tartalmaz példát:
this.add(getJPanel(), null); // Előállított
A lehetőség bekapcsolásához jelölje be a Megjegyzés
készítése az új kifejezésekhez jelölőnégyzetet a vizuális szerkesztő
beállításait tartalmazó párbeszédablak Kód előállítása lapján.
- A Swing illetve AWT esetében, noha a vizuális szerkesztő előállítja az egytelen
Java komponenst példányosító és visszaadó metódusokat (például
getPanel()), ez nem követelmény. Egy metódus több
Java komponenst is példányosíthat, és a metódus visszatérési értéke nem fontos
annak eldöntése szempontjából, hogy a mező Java komponens-e. Ha az
anOKButton és
ivjTableModel mezőket Java komponensként kívánja
beilleszteni, akkor ezek példányosítását egy get
metóduson belül kel elvégezni az osztályban.
- Az SWT esetében a vizuális szerkesztő a Composite szülőt kiterjesztő összes osztályhoz
private void createComposite() metódusokat állít elő, és az összes
leszármazott komponens inicializálása ugyanabban a metódusban történik.
- Ha a szerkesztett osztály egy Java komponens kiterjesztése, akkor a
szerkesztett példányt egy különleges Java komponens, a 'this' rész jelképezi. A
'this' rész nem törölhető a Terv vagy Java Beans nézetben, és a
tulajdonságainak inicializálása az initialize()
metódusban történik meg.
A 'this' rész csak akkor jelenik meg a Terv és a Java
Beans nézetben, ha a Tulajdonságok nézet tartalmaz beállítható tulajdonságokat.
A tulajdonságok beállítása az initialize(), vagy ha
az osztály a java.awt.Applet kiterjesztése, akkor
az init() metódusban történik.
- Ha a szerkesztett osztály megvalósítja az org.eclipse.ui.IWorkbenchPart elemet, akkor a
leszármazott vezérlőelemekhez létrejött kód hozzáadásra kerül a createPartControl(Composite
parent) metódushoz.