Tämä aihe käsittelee Java-koodin siirtoa VisualAge for Java -ohjelmasta.
Kun teet muutoksia Java-komponenttiin graafisella Java-muokkausohjelmalla, lähdekoodi päivitetään vastaamaan muutoksia. Lähdekoodin muutokset näkyvät set-määritysmetodeissa, joiden ominaisuusarvot muuttuvat. Joitakin graafisen muokkausohjelman käyttämiä tietoja ei kuitenkaan tallenneta ominaisuuksiin, koska se on tehtävä vain suunnittelun aikana. Näihin tietoihin sisältyy Java-bean-komponentin sijainti vapaamuotoisella pinnalla.
Jotta tiedot tallentuvat niin, että graafinen Java-muokkausohjelma voidaan avata uudelleen siten, että Java-bean-komponentti on samassa paikassa, tiedot asetetaan kommenttiin riville, joka esittelee Java-bean-komponentin. Seuraavassa lauseessa JFrame-komponentti on asetettu kohtaan 16,17:
private javax.swing.JFrame ivjJFrame = null; // @jve:visual-info decl-index=0 visual-constraint="16,17"
Komponentin sijainnin esittävä kommentti ei ole pakollinen, ja jos kommenttia ei ole, oletussijainti varataan käyttöön, kun graafinen Java-muokkausohjelma avataan. Tämä oletussijainti koskee vain ylimmän tason Java-bean-komponentteja, jotka eivät ole toisen komponentin sisällä ja jotka eivät vaikuta säilössä olevien komponenttien asetteluun. Säilössä olevien komponenttien sijainti määräytyy säilön asettelun hallintaohjelman ja komponentin rajojen tai rajoitteiden perusteella.
VisualAge for Java -ohjelmassa ylimmän tason Java-bean-komponenttien (kutsutaan myös vapaamuotoisiksi osiksi) sijaintia ei ole ilmaistu lähdekoodissa. Jos siirrät tiedoston, joka on kirjoitettu VisualAge for Java -ohjelman VCE (Visual Composition Editor) -toiminnolla, järjestelmä käyttää oletussijainteja. Jos haluat säilyttää asemointitiedot, voit hankkia siirtoapuohjelman, joka on ladattu VisualAge for Java -ohjelmaan. Siirtoapuohjelma muodostaa luokat uudelleen siten, että sijainti on tallennettu kommenttimuodossa. Voit noutaa apuohjelman lataamalla uusimman VisualAge for Java Visual Composition Editor -sovellusten muuntotyökalun osoitteesta www.ibm.com/support/us/
Tämä siirtoapuohjelma on saatavilla tilapäisenä korjaustiedostona, jonka voi asentaa VisualAge for Java -ohjelman FixManager-toiminnolla (Workspace > Tools > FixManager). Apuohjelma siirtää ja vie luokat, jotka on kehitetty VisualAge for Java -ohjelman VCE-toiminnolla graafiseen muokkausohjelmaan soveltuvaan muotoon. Kun olet asentanut tämän korjaustiedoston, voit valita ponnahdusvalikosta vaihtoehdon VCE Code Generation/Export... projekteille, paketeille tai luokille. Kun valitset tämän vaihtoehdon, järjestelmä aloittaa ohjatun toiminnon, joka voi muodostaa aiemmin VCE-toiminnolla tallennettujen luokkien koodin uudelleen. Vapaamuotoiset sijainnit tallennetaan graafisen muokkausohjelman käyttämässä kommenttimuodossa.
Jos olet muodostanut yhteyksiä, voit ensin muodostaa tämän koodin uudelleen valitsemalla VCE-koodin muodostusvaihtoehdon Use an inner class for each event, ennen kuin ajat tämän apuohjelman. Joitakin luokkia ei voi kuitenkaan muuntaa tämän tyylin mukaisiksi VisualAge for Java -ohjelmassa olevan vian vuoksi. Tässä tapauksessa sinun tulee käyttää VCE-koodin muodostusvaihtoehtoa Use one inner class for all events. Ohjatussa toiminnossa on myös mahdollisuus viedä luokat hakemistoon sen jälkeen, kun koodin muodostus on valmis. Java-tapahtumien tuen graafinen muokkausohjelma ei jäsennä VCE-koodin muodostustyyliä Do not use any inner classes.
Koska VCE ylläpitää omaa Java-bean-komponenttien mallia ja niiden ominaisuusarvoja sekä suhteita, se muodostaa lähteen aina uudelleen jäsentävällä tavalla tästä mallista. Kaikki käyttäjän lähteeseen tekemät muokkaukset on rajattu ennalta määritettyihin lähteessä oleviin käyttäjäkoodeihin, jotka on eroteltu kommenteilla //user code begin {1} ja //user code end. Java-bean-komponenttien metodien uudelleenmuodostus koodien uudelleenmuodostusten yhteydessä ilmoitetaan rivillä /* WARNING: THIS METHOD WILL BE REGENERATED. */, joka lisätään metodikommenttiin. Siirtoapuohjelmassa on asetus, joka poistaa nämä VCE-toiminnon muodostamat kommentit viedystä koodista (ei VisualAge for Java -lähdekoodista), sillä ne eivät ole enää käytettävissä VCE:n ulkopuolella. Kun käyttäjäkoodin kommentit on poistettu lähteestä, käyttäjäkoodia ei voi kuitenkaan käyttää VisualAge for Java -ohjelmassa. Tämä johtuu siitä, että nämä kommentit estävät käyttäjäkoodin korvauksen.
Graafinen Java-muokkausohjelma ei käytä säilyvää objektimallia sen Java-bean-komponenteille ja niiden ominaisuusarvoille ja suhteille, vaan jäsentää lähteen aina erikseen. Tästä syystä käyttäjäkoodeja ja metodin uudelleenmuodostusta koskevat kommentit eivät enää ole voimassa, ja lähdekoodia voidaan muuttaa vapaasti. Jos muokkaukset muuttavat lähdekoodin rakennetta siten, että graafinen Java-muokkausohjelma ei voi enää tunnistaa Java-bean-komponenttien rakennetta, ne eivät ehkä ole näkyvissä suunnittelu- tai Java-bean-komponentti-näkymässä. Lähdettä ei kuitenkaan muuteta muokkausohjelman tyyliin sopivaksi, ja tekemäsi muutokset säilyvät.