Migracja kodu ze środowiska VisualAge for Java do edytora elementów wizualnych

Ten temat zawiera informacje dotyczące migrowania kodu Java z produktu VisualAge for Java.

Gdy w komponencie Java wprowadzane są zmiany za pomocą edytora elementów wizualnych Java, kod źródłowy jest aktualizowany w taki sposób, aby odzwierciedlał te zmiany. Zmiany kodu źródłowego są odzwierciedlane w metodach set, które zmieniają wartości właściwości. Jednak część informacji używanych przez edytor elementów wizualnych Java nie jest przechowywana we właściwościach, ponieważ jest potrzebna tylko w czasie projektowania. Jedną z tych informacji jest pozycja komponentu Java Bean na formularzu.

Aby umożliwić przechowywanie tych informacji w taki sposób, aby po ponownym otwarciu edytora elementów wizualnych Java dany komponent Java Bean znajdował się w tej samej pozycji, informacje te są umieszczane w postaci komentarza w wierszu zawierającym deklarację komponentu Java Bean. W poniższej instrukcji przedstawiono komponent JFrame znajdujący się w pozycji 16,17:

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

Komentarz oznaczający pozycję komponentu nie jest wymagany, a jeśli takiego komentarza brakuje, w momencie otwarcia edytora elementów wizualnych Java przypisywana jest pozycja domyślna. To położenie domyślne dotyczy tylko komponentów Java Bean najwyższego poziomu, które nie znajdują się w innym komponencie, i nie ma wpływu na umiejscowienie komponentów w obrębie kontenera. Położenie komponentów w obrębie kontenera zależy od menedżera układu tego kontenera oraz granic lub ograniczeń każdego komponentu.

W środowisku VisualAge for Java kod źródłowy nie zawiera pozycji komponentów Java Bean najwyższego poziomu (zwanych również częściami swobodnymi formularza). Migracja pliku utworzonego w edytorze Visual Composition Editor (VCE), dostępnego w środowisku VisualAge for Java, spowoduje użycie pozycji domyślnych. Jeśli zachodzi potrzeba zachowania informacji o pozycjach, można skorzystać z programu narzędziowego do migracji, ładowanego w środowisku VisualAge for Java. Program narzędziowy do migracji ponownie generuje klasy z pozycją zapisaną w formacie komentarza. Aby uzyskać ten program narzędziowy, należy pobrać najnowsze narzędzie do przekształcania aplikacji edytora Visual Composition Editor środowiska VisualAge for Java, dostępne pod adresem www.ibm.com/support/us/.

Program narzędziowy do migracji jest dostępny jako tymczasowa poprawka, którą można zainstalować w środowisku VisualAge for Java za pomocą programu FixManager przez wybranie kolejno opcji Workspace > Tools > FixManager (Obszar roboczy > Narzędzia > FixManager). Program narzędziowy migruje i eksportuje klasy utworzone przy użyciu edytora VCE w środowisku VisualAge for Java do formatu odpowiedniego dla edytora elementów wizualnych. Gdy zainstalowana jest ta poprawka, z menu podręcznego projektu, pakietu lub klasy można wybrać opcję VCE Code Generation/Export (Generowanie/eksportowanie kodu VCE). Po wybraniu tej pozycji uruchamiany jest kreator, który może ponownie wygenerować kod klas zapisanych poprzednio za pomocą edytora VCE. Pozycje swobodne są zapisywane w formacie komentarza stosowanym w edytorze elementów wizualnych.

Jeśli występują połączenia, można najpierw ponownie wygenerować ich kod przez wybranie opcji generowania kodu VCE Use an inner class for each event (Użyj klasy wewnętrznej dla każdego zdarzenia) i dopiero wówczas uruchomić program narzędziowy. Jednak ze względu na błąd występujący w środowisku VisualAge for Java przekształcenie niektórych klas na ten styl nie będzie możliwe. W takim przypadku należy użyć opcji generowania kodu VCE Use one inner class for all events (Użyj jednej klasy wewnętrznej dla wszystkich zdarzeń). Kreator umożliwia ponadto wyeksportowanie klas do określonego katalogu po zakończeniu generowania kodu. Obsługa zdarzeń edytora elementów wizualnych Java nie analizuje stylu generowania kodu VCE Do not use any inner classes (Nie używaj klas wewnętrznych).


Wzorzec VCE 1


Wzorzec VCE 2

Ponieważ edytor VCE zawierał własny model komponentów Java Beans oraz wartości ich właściwości i związków między nimi, ponowne generowanie kodu źródłowego zawsze odbywało się w sposób zstępujący na podstawie tego modelu. Wszelkie modyfikacje wprowadzane w kodzie źródłowym przez użytkownika były ograniczone do predefiniowanych punktów kodu użytkownika, oddzielonych komentarzami //user code begin {1} oraz //user code end. Ponadto w celu zaznaczenia, że metody dla komponentów Java Bean są ponownie generowane przy każdym generowaniu kodu, do komentarza metody dodawany był wiersz /* WARNING: THIS METHOD WILL BE REGENERATED. */ (Ostrzeżenie: ta metoda zostanie ponownie wygenerowana). Program narzędziowy do migracji umożliwia usunięcie tych komentarzy generowanych przez edytor VCE z eksportowanego kodu (nie z kodu źródłowego w środowisku VisualAge for Java), ponieważ poza edytorem VCE nie mają one zastosowania. Jednak gdy z kodu źródłowego zostaną usunięte komentarze związane z punktami kodu użytkownika, takiego kodu użytkownika nie będzie można zastosować w środowisku VisualAge for Java. Wynika to z faktu, że obecność tych komentarzy chroni kod użytkownika przed nadpisaniem.

Edytor elementów wizualnych Java nie korzysta z trwałego modelu obiektów obejmującego komponenty Java Bean oraz wartości ich właściwości i związki między nimi, lecz każdorazowo analizuje kod źródłowy. Z tego powodu nie mają już w nim zastosowania komentarze punktów kodu użytkownika oraz określające ponowne generowanie metod, a modyfikacje można wprowadzać swobodnie w kodzie źródłowym. Jeśli na skutek modyfikacji struktura kodu źródłowego zmieni się na tyle, że edytor elementów wizualnych Java nie będzie w stanie rozpoznać struktury komponentów Java Bean, mogą one nie być widoczne w widoku projektu lub w widoku komponentów Java Bean. Jednak kod źródłowy nie zostanie zmieniony zgodnie ze stylem edytora, a wprowadzone zmiany zostaną zachowane.

(C) Copyright IBM Corporation 1999, 2004. Wszelkie prawa zastrzeżone.