Αυτό το θέμα παρέχει πληροφορίες για τη μετάβαση κώδικα Java από VisualAge για Java.
Όταν κάνετε αλλαγές σε ένα συστατικό στοιχείο Java με τη λειτουργία επεξεργασίας γραφικού περιβάλλοντος για Java, ο πρωτογενής κώδικας ενημερώνεται για να εμφανιστούν οι αλλαγές. Οι αλλαγές του πρωτογενούς κώδικα εμφανίζονται σε ρυθμισμένες μεθόδους που αλλάζουν τις τιμές ιδιοτήτων. Ωστόσο, κάποιες πληροφορίες που χρησιμοποιούνται από τη λειτουργία επεξεργασίας γραφικού περιβάλλοντος για Java δεν αποθηκεύονται σε ιδιότητες γιατί αυτό απαιτείται μόνο σε χρόνο σχεδίασης. Αυτές οι πληροφορίες περιλαμβάνουν τη θέση ενός Java bean στην επιφάνεια ελεύθερης φόρμας.
Για να αποθηκεύσετε τις πληροφορίες αυτές έτσι ώστε η λειτουργία επεξεργασίας γραφικού περιβάλλοντος για Java να μπορεί να ανοίξει ξανά με το Java bean στην ίδια θέση, οι πληροφορίες τοποθετούνται σε ένα σχόλιο στη γραμμή δήλωσης του Java bean. Η ακόλουθη δήλωση παρουσιάζει ένα συστατικό στοιχείο JFrame που είναι τοποθετημένο σε 16,17:
private javax.swing.JFrame ivjJFrame = null; // @jve:visual-info decl-index=0 visual-constraint="16,17"
Το σχόλιο που αντιπροσωπεύει τη θέση ενός συστατικού στοιχείου δεν είναι απαραίτητο και, αν δεν υπάρχει, τότε κατανέμετε μια προεπιλεγμένη θέση όταν ανοίξει η λειτουργία επεξεργασίας γραφικού περιβάλλοντος για Java. Αυτή η προεπιλεγμένη τοποθέτηση εφαρμόζεται μόνο για ανωτέρου επιπέδου Java beans που δεν περιέχονται σε άλλο και δεν επηρεάζουν την τοποθέτηση των συστατικών στοιχείων σε μια θέση υποδοχής. Η θέση των συστατικών στοιχείων σε μια θέση υποδοχής καθορίζεται από τη λειτουργία διαχείρισης διάταξης της θέσης υποδοχής και τα όρια ή τους περιορισμούς του συστατικού στοιχείου.
Σε VisualAge για Java, η θέση των ανωτέρου επιπέδου Java beans (επίσης γνωστά ως τμήματα ελεύθερης φόρμας) δεν υπάρχει στον πρωτογενή κώδικα. Αν μεταβιβάσετε ένα αρχείο που εγγράφηκε με VisualAge για Java Visual Composition Editor (VCE), χρησιμοποιούνται προεπιλεγμένες θέσεις. Αν θέλετε να διατηρήσετε τις πληροφορίες τοποθέτησης, τότε μπορείτε να λάβετε ένα βοηθητικό πρόγραμμα μεταβίβασης που φορτώνεται σε VisualAge για Java. Το βοηθητικό πρόγραμμα μεταβίβασης αναδημιουργεί τις κλάσεις με τη θέση αποθηκευμένη σε μορφή σχολίου. Για να λάβετε το βοηθητικό πρόγραμμα, πραγματοποιήστε λήψη του τελευταίου Εργαλείου μετατροπής VisualAge για εφαρμογές Java Visual Composition Editor από τη διεύθυνση www.ibm.com/support/us/
Αυτό το βοηθητικό πρόγραμμα μεταβίβασης είναι διαθέσιμο ως tempfix που μπορεί να εγκατασταθεί χρησιμοποιώντας το VisualAge για FixManager του Java (από Χώρος εργασίας > Εργαλεία > FixManager). Το βοηθητικό πρόγραμμα μεταβιβάζει και εξάγει κλάσεις που έχουν αναπτυχθεί με χρήση του VisualAge για VCE σε Java, σε μορφή κατάλληλη για τη λειτουργία επεξεργασίας. Αφού εγκαταστήσετε αυτό το πακέτο επιδιόρθωσης κώδικα μπορείτε να επιλέξετε Δημιουργία κώδικα/Εξαγωγή VCE... από το αναδυόμενο μενού για έργα, πακέτα ή κλάσεις. Αν επιλέξετε αυτό το στοιχείο, θα εκκινηθεί ένας οδηγός που μπορεί να αναδημιουργήσει τον κώδικα για κλάσεις που αποθηκεύτηκαν νωρίτερα με το VCE. Οι θέσεις ελεύθερης φόρμας αποθηκεύονται σε μορφή σχολίου που χρησιμοποιείται από τη λειτουργία επεξεργασίας.
Αν έχετε συνδέσεις, μπορείτε αρχικά να αναδημιουργήσετε τον κώδικα επιλέγοντας τη δημιουργία κώδικα VCE Χρησιμοποίηση μιας εσωτερικής κλάσης για κάθε συμβάν πριν εκτελέσετε αυτό το βοηθητικό πρόγραμμα. Ωστόσο, ορισμένες κλάσεις δεν θα είναι δυνατό να μετατραπούν σε αυτό το στυλ εξαιτίας σφάλματος στο VisualAge για Java. Σε αυτή την περίπτωση θα πρέπει να χρησιμοποιήσετε την επιλογή δημιουργίας κωδικού VCE "Χρησιμοποίηση εσωτερικής κλάσης για όλα τα συμβάντα". Ο οδηγός παρέχει επίσης την επιλογή εξαγωγής των κλάσεων σε έναν κατάλογο μετά την ολοκλήρωση της δημιουργίας κώδικα. Η λειτουργία επεξεργασίας γραφικού περιβάλλοντος για υποστήριξη συμβάντων Java δεν θα αναλύσει το στυλ δημιουργίας κώδικα VCE "Χωρίς χρησιμοποίηση εσωτερικών κλάσεων".
Καθώς το VCE διατήρησε το δικό του μοντέλο Java beans και τις τιμές και σχέσεις ιδιοτήτων, πάντα αναδημιουργούσε την προέλευση του μοντέλου αυτού από πάνω προς τα κάτω. Κάθε τροποποίηση που πραγματοποιήθηκε από έναν χρήστη στον πρωτογενή κώδικα περιορίστηκε σε προρυθμισμένα σημεία κώδικα χρήστη μέσα στον πρωτογενή κώδικα που περιορίζονται από σχόλια //user code begin {1} και //user code end. Επίσης, για να επισημανθεί ότι οι μέθοδοι για τα Java beans αναδημιουργήθηκαν για κάθε δημιουργία κώδικα, η γραμμή /* ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Η ΜΕΘΟΔΟΣ ΑΥΤΗ ΘΑ ΑΝΑΔΗΜΙΟΥΡΓΗΘΕΙ. */ προστέθηκε στο σχόλιο μεθόδου. Το βοηθητικό πρόγραμμα έχει μια επιλογή που αφαιρεί από τον κώδικα εξαγωγής αυτά τα σχόλια που δημιουργούνται από VCE (όχι από τον πρωτογενή κώδικα σε VisualAge για Java), καθώς δεν μπορούν πλέον να εφαρμοστούν εκτός του VCE. Ωστόσο, αφού αφαιρεθούν τα σχόλια για τα σημεία κώδικα χρήστη από τον πρωτογενή κώδικα, ο κώδικας χρήστη δεν μπορεί να χρησιμοποιηθεί στο VisualAge για Java. Αυτό συμβαίνει γιατί η παρουσία αυτών των σχολίων προστατεύει τον κώδικα χρήστη από την αντικατάστασή του.
Η λειτουργία επεξεργασίας γραφικού περιβάλλοντος για Java δεν χρησιμοποιεί ένα μόνιμο μοντέλο αντικειμένου για τα Java beans και τις τιμές και σχέσεις των ιδιοτήτων τους, αλλά αναλύει κάθε φορά τον πρωτογενή κώδικα. Για το λόγο αυτό, τα σχόλια για σημεία κώδικα χρήστη και για τον προσδιορισμό μιας αναδημιουργίας μεθόδου δεν ισχύουν πλέον, ενώ μπορούν να γίνουν ελεύθερα τροποποιήσεις στον πρωτογενή κώδικα. Αν οι τροποποιήσεις επιφέρουν αλλαγές στη δομή του πρωτογενή κώδικα, με αποτέλεσμα η λειτουργία επεξεργασίας γραφικού περιβάλλοντος για Java να μην είναι σε θέση να αναγνωρίσει τη δομή των Java beans, ίσως να μην τα δείτε στην προβολή σχεδίασης ή την προβολή Java Βeans. Ωστόσο, ο πρωτογενής κώδικας δεν θα τροποποιηθεί για να ταιριάζει με το στυλ της λειτουργίας επεξεργασίας και οι αλλαγές σας θα διατηρηθούν.