Η TableWrapLayout είναι μια διάταξη που βασίζεται σε πλέγμα και μοιάζει με την ευέλικτη GridLayout του SWT. Διαφέρει από την GridLayout ως προς τη χρήση αλγόριθμων διάταξης που λειτουργούν περισσότερο ως πίνακες HTML. Προσπαθεί να διατηρεί το παρεχόμενο πλάτος περιοχής πελάτη και να ανατπύσσεται κατακόρυφα για αναπλήρωση.
Υπάρχουν πολλές ομοιότητες μεταξύ της κλάσης GridLayout και της TableWrapLayout. Και οι δύο οργανώνουν τα θυγατρικά στοιχεία σε πλέγματα. Και οι δύο έχουν δεδομένα εισόδου διάταξης, τα οποία κατευθύνουν τη διάταξη όσον αφορά τον τρόπο χειρισμού του κάθε στοιχείου ελέγχου. Και οι δύο μπορούν να δεχτούν υποδείξεις όσον αφορά το στοιχείο ελέγχου που θα πρέπει να καταλαμβάνει επιπλέον χώρο, κ.τ.λ.
Ωστόσο, στη βάση τους διαφέρουν όσον αφορά την προσέγγιση της διάταξης. Η TableWrapLayout
ξεκινά με στήλες. Υπολογίζει το ελάχιστο, προτιμώμενο και μέγιστο πλάτος για κάθε στήλη και χρησιμοποιεί αυτές τις πληροφορίες για την αντιστοίχιση επιπλέον χώρου. Προσπαθεί επίσης να διαιρεί δίκαια το χώρο στις στήλες έτσι ώστε να μην παρουσιαστεί επιπλέον αναδίπλωση κάποιων στοιχείων ελέγχου.
Μπορείτε να αναμείξετε τις κλάσεις GridLayout
και TableWrapLayout
, ωστόσο ο κλάδος όπου χρησιμοποιείται η GridLayout
αποτελεί τον κλάδο όπου σταματά η αναδίπλωση. Αυτό είναι σχετικά αποδεκτό αν δεν επιθυμείτε την αναδίπλωση (αν το σύνθετο στοιχείο περιέχει στοιχεία ελέγχου τα οποία έτσι και αλλιώς δεν μπορούν να αναδιπλωθούν, όπως κείμενο, κουμπιά, διακλαδώσεις, κ.τ.λ.).
Ωστόσο, θα πρέπει να υπάρχει μια αδιάσπαστη διαδρομή της TableWrapLayouts από το κύριο σώμα της φόρμας προς
κάθε στοιχείο ελέγχου κειμένου που χρειάζεται να αναδιπλωθεί.