Όταν ο πάγκος εργασίας δημιουργεί και εκκινεί μια σελίδα ιδιοτήτων, ορίζει τον επιλεγμένο πόρο μέσα στη σελίδα. Η σελίδα μπορεί να χρησιμοποιήσει τη μέθοδο getElement() για να λάβει το στοιχείο της, ένα IAdaptable.
Το μοτίβο για τη δημιουργία σελίδων ιδιοτήτων μοιάζει με αυτό των σελίδων προτιμήσεων, γι' αυτό θα εστιάσουμε μόνο στις διαφορές. Οι σελίδες ιδιοτήτων δείχνουν πληροφορίες για το στοιχείο τους. Μπορεί να γίνει λήψη αυτών των πληροφοριών από το στοιχείο για τον υπολογισμό ή την υποβολή ερωτήματος σχετικά με τις ανάλογες πληροφορίες. Οι πληροφορίες μπορούν επίσης να αποθηκευτούν και να ανακτηθούν από τις ιδιότητες του πόρου.
Η κλάση ReadmeFilePropertyPage υπολογίζει τις περισσότερες πληροφορίες με χρήση του στοιχείου της. Το ακόλουθο τμήμα κώδικα παρουσιάζει τον τρόπο με τον οποίο υπολογίζεται και εμφανίζεται σε ετικέτα ο αριθμός των ενοτήτων.
... IResource resource = (IResource) getElement(); ... IAdaptable sections = getSections(resource); if (sections instanceof AdaptableList) { AdaptableList list = (AdaptableList)sections; label = createLabel(panel, String.valueOf(list.size())); ...
Κατά τον υπολογισμό μιας ιδιότητας, δεν υπάρχει λόγος η αντίστοιχη λογική να αποθηκεύσει την τιμή, εφόσον ο χρήστης δεν μπορεί να ενημερώσει την τιμή αυτή.
Οι σελίδες ιδιοτήτων χρησιμοποιούνται συνήθως για την προβολή και τη ρύθμιση των ιδιοτήτων ενός πόρου, οι οποίες εξαρτώνται από την εφαρμογή. (Ανατρέξτε στην ενότητα Ιδιότητες πόρων για να δείτε την ανάλυση των μόνιμων ιδιοτήτων και των ιδιοτήτων συνεδρίας) .Εφόσον η σελίδα ιδιοτήτων γνωρίζει τον πόρο της, το API του πόρου μπορεί να χρησιμοποιηθεί στη σελίδα για την απόδοση αρχικών τιμών στα στοιχεία ελέγχου ή τη ρύθμιση νέων τιμών ιδιοτήτων με βάση τις επιλογές χρήστη στη σελίδα προτιμήσεων.
Το ακόλουθο τμήμα κώδικα παρουσιάζει μια τιμή τετραγωνιδίου επιλογής για την οποία γίνεται απόδοση αρχικών τιμών από μια ιδιότητα σε ένα στοιχείο σελίδας ιδιοτήτων.
private void initializeValues() { ... IResource resource = (IResource) getElement(); label.setText(resource.getPersistentProperty("MyProperty")); ... }
Ο αντίστοιχος κώδικας για την αποθήκευση της τιμής τετραγωνιδίου επιλογής πίσω στην ιδιότητα είναι ο εξής:
private void storeValues() { ... IResource resource = (IResource) getElement(); resource.setPersistentProperty("MyProperty", label.getText()); ... }