Forráskód átvétele a VisualAge for Java termékből a vizuális szerkesztőbe

Ez a témakör a Java forráskód VisualAge for Java termékből való átvételével foglalkozik.

Amikor a Visual Editor for Java segítségével módosít egy Java komponenst, akkor a forráskód automatikusan követi a változásokat. A forráskód változások a tulajdonság értékét módosító set metódusokban jelennek meg. Azonban a Visual Editor for Java által használt bizonyos információk nem tárolódnak a tulajdonságokban, mert ezekre csak tervezési időben van szükség. Ilyen információk például a Java komponensek helyzete a felületen.

A Visual Editor for Java indításakor a komponensek mégis ugyanazon a pozíción jelenne meg, mint ahol az alkalmazás bezárásakor elhelyezkedtek. Az ehhez szükséges információkat a szerkesztő a Java komponenst deklaráló sorban helyezi el megjegyzés formájában. Az példa egy JFrame komponens elhelyezését mutatja a 16,17 pozíción:

private javax.swing.JFrame ivjJFrame = null; // @jve:visual-info
decl-index=0 visual-constraint="16,17"

A komponens pozícióját meghatározó megjegyzés elhagyható; ebben az esetben a Visual Editor for Java megnyitásakor a komponens az alapértelmezett helyre kerül. Ez az alapértelmezés szerinti elhelyezés csak a felső szintű Java komponensekre vonatkozik, a tárolóban található komponensek elhelyezkedését nem befolyásolja. Egy tároló komponenseinek pozícióját a tároló elrendezéskezelője, valamint a komponens határai illetve megszorításai határozzák meg.

A VisualAge for Java esetében a forráskód nem tartalmazza a felső szintű Java komponensek (másképpen szabad formátumú részek) pozícióját. Ha a VisualAge for Java Visual Composition Editor (VCE) szerkesztőjével készült fájlt importál, akkor a vizuális szerkesztő az alapértelmezett pozíciókat használja. Ha meg kívánja tartani a helyzetre vonatkozó információkat, akkor szerezze be a VisualAge for Java áttérési segédprogramot. Az áttérési segédprogram újra létrehozza az osztályok helyzetét megjegyzés formájában. A segédprogram letöltéséhez keressen rá a Conversion tool for VisualAge for Java Visual Composition Editor applications kifejezésre a www.ibm.com/support/us/ címen.

A segédprogram javításként érhető el, amelyet a VisualAge for Java Javításkezelő (Munkaterület > Eszközök > Javításkezelő) segítségével telepíthet. A segédprogram átalakítja majd exportálja a VisualAge for Java VCE szerkesztővel elkészített osztályokat a vizuális szerkesztő által értelmezhető formátumra. A javítócsomag telepítése után a projektek, csomagok és osztályok előugró menüjében megjelenik a VCE kód előállítás/exportálás... menüpont. Ez a funkció elindít egy varázslót, amely a korábban VCE formátumban mentett osztályok kódját újra előállítja. Az objektumok szabad formátumú pozíciói a vizuális szerkesztő által használt megjegyzés formátumban kerülnek a forráskódba.

Ha rendelkezik kapcsolatokkal, akkor a segédprogram futtatása előtt újra előállíthatja a kódot a Külön belső osztály használata az eseményekhez VCE kódkészítési beállítással. Azonban a VisualAge for Java egy ismert hibája miatt néhány osztály nem alakítható át erre a stílusra. Ebben az esetben használja a Közös belső osztály használata az összes eseményhez VCE kódkészítési beállítást. A varázsló lehetőséget ad arra is, hogy a kódkészítés után az osztályokat exportálja. A Visual Editor for Java nem támogatja a Nem használ belső osztályokat VCE kódkészítési stílust.


VCE minta 1


VCE minta 2

Noha a VCE a saját modelljét alkalmazza a Java komponensek, tulajdonságaik és kapcsolataik leírására, ebből a modellből felülről-lefelé módszerrel mindig újraelőállítja a forráskódot is. A felhasználó csak az előre meghatározott, //user code begin {1} és //user code end megjegyzések közé zárt felhasználói kódpontokon módosíthatta a forráskódot. Ezenkívül a VCE a kódkészítés során a /* WARNING: THIS METHOD WILL BE REGENERATED.*/ karakterlánccal jelzi a sor megjegyzésében, hogy újraelőállította a Java komponensek metódusait. Az áttérést végző segédprogram képes eltávolítani ezeket a VCE által létrehozott megjegyzéseket az exportált kódból (a VisualAge for Java kódból nem), mivel ezekre a VCE-n kívül nincs szükség. A felhasználói kódpontok eltávolítása után azonban a forráskód már nem használható VisualAge for Java környezetben. Ennek az az oka, hogy ezek a megjegyzések óvják meg a felhasználói kódot a felülírástól.

A Visual Editor for Java nem használ állandó objektummodellt a Java komponensek, tulajdonságaik és kapcsolataik leírására, hanem minden egyes alkalommal újra elemzi a forráskódot. Emiatt nincs szükség a felhasználói kódpontokat és az újraelőállítást jelző megjegyzésekre, és a forráskód szabadon módosítható. Ha a módosítások oly mértékben átalakítják a forráskód szerkezetét, hogy a Visual Editor for Java már nem ismeri fel a Java komponenseket, akkor azok nem jelennek meg a Terv nézetben és a Java Beans nézetben. Azonban a szerkesztő nem alakítja át a kódot a saját stílusának megfelelően, és a módosítások érintetlenek maradnak.

(C) Copyright IBM Corporation 1999, 2004. Minden jog fenntartva.