| Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
swing:lists [2015/05/18 06:58] gthanos |
swing:lists [2018/04/13 08:42] gthanos [Listening Interface] |
| Μία λίστα αποτελείται από μία σειρά επιλογών τις οποίες μπορείτε να παραθέσετε σε μία ή περισσότερες γραμμές ή στήλες. Η λίστα υλοποιείται από την κλάση [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.html|javax.swing.JList]]. | Μία λίστα αποτελείται από μία σειρά επιλογών τις οποίες μπορείτε να παραθέσετε σε μία ή περισσότερες γραμμές ή στήλες. Η λίστα υλοποιείται από την κλάση [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.html|javax.swing.JList]]. |
| |
| Για την δημιουργία μίας λίστας είναι απαραίτητη η δημιουργία ενός αντικειμένου τύπου [[https://docs.oracle.com/javase/8/docs/api/javax/swing/ListModel.html|javax.swing.ListModel]], το οποίο αποθηκεύει τα δεδομένα που θα εμφανιστούν στην λίστα. Η Java παρέχει την default υλοποίηση [[https://docs.oracle.com/javase/8/docs/api/javax/swing/DefaultListModel.html|DefaultListModel]] η οποία είναι ικανοποιητική για την διαχείριση των δεδομένων της λίστας. | Για την δημιουργία μίας λίστας είναι απαραίτητη η δημιουργία ενός αντικειμένου τύπου [[https://docs.oracle.com/javase/8/docs/api/javax/swing/ListModel.html|javax.swing.ListModel]], το οποίο αποθηκεύει τα δεδομένα που θα εμφανιστούν στην λίστα. Η Java παρέχει την default υλοποίηση [[https://docs.oracle.com/javase/8/docs/api/javax/swing/DefaultListModel.html|DefaultListModel]] για την διαχείριση των δεδομένων που περιέχει η λίστα. |
| |
| Εναλλακτικά της χρήσης ενός αντικειμένου τύπου //ListModel//, μπορείτε να χρησιμοποιήσετε έναν πίνακα αντικειμένων ή ένα αντικείμενο τύπου [[http://docs.oracle.com/javase/7/docs/api/java/util/Vector.html|java.util.Vector]] (δείτε τους κατασκευαστές της κλάσης). Σε αυτή την περίπτωση η λίστα των αντικειμένων είναι σταθερή και δεν μπορεί να μεταβληθεί. Αντίθετα, η χρήση ενός αντικειμένου τύπου //ListModel// επιτρέπει την πρόσθεση ή την αφαίρεση επιλογών από την λίστα και για αυτό θεωρείται πιο πρακτική. | Εναλλακτικά της χρήσης ενός αντικειμένου τύπου //ListModel//, μπορείτε να χρησιμοποιήσετε έναν πίνακα αντικειμένων ή ένα αντικείμενο τύπου [[http://docs.oracle.com/javase/7/docs/api/java/util/Vector.html|java.util.Vector]] (δείτε τους κατασκευαστές της κλάσης). Σε αυτή την περίπτωση η λίστα των αντικειμένων είναι σταθερή και δεν μπορεί να μεταβληθεί. Αντίθετα, η χρήση ενός αντικειμένου τύπου //ListModel// επιτρέπει την πρόσθεση ή την αφαίρεση επιλογών από την λίστα και για αυτό θεωρείται πιο πρακτική. |
| |
| <WRAP tip 80% center round> | <WRAP tip 80% center round> |
| Η κλάση JList δεν έχει την δυνατότητα scrolling. Αν θέλετε να προσθέσετε scrolling θα πρέπει να το κάνετε δημιουργώντας ένα αντικείμενο του [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JScrollPane.html|javax.swing.JScrollPane]]. | Η κλάση JList δεν έχει την δυνατότητα scrolling. Αν θέλετε να προσθέσετε scrolling θα πρέπει να το κάνετε δημιουργώντας ένα αντικείμενο του [[http://docs.oracle.com/javase/7/docs/api/javax/swing/JScrollPane.html|javax.swing.JScrollPane]], μέσα στο οποίο θα τοποθετήσετε το αντικείμενο τύπου **JList**. |
| </WRAP> | </WRAP> |
| |
| ==== Listening Interface ==== | ==== Listening Interface ==== |
| |
| Αντικείμενα του τύπου JList μπορούν να κάνουν register Listening objects του τύπου [[http://docs.oracle.com/javase/7/docs/api/javax/swing/event/ListSelectionListener.html|javax.swing.event.ListSelectionListener]]. Η βασική μέθοδος που υλοποιεί το συγκεκριμένο interface είναι η παρακάτω. | Αντικείμενα του τύπου //JList// μπορούν να κάνουν register Listening objects του τύπου [[http://docs.oracle.com/javase/7/docs/api/javax/swing/event/ListSelectionListener.html|javax.swing.event.ListSelectionListener]]. Η μοναδική μέθοδος που υλοποιεί το συγκεκριμένο //interface// είναι η παρακάτω. |
| <code java> | <code java> |
| void valueChanged(ListSelectionEvent e) | void valueChanged(ListSelectionEvent e) |
| //Called whenever the value of the selection changes. | //Called whenever the value of the selection changes. |
| </code> | </code> |
| </code> | </code> |
| |
| | | Προηγούμενο: [[:swing:jscrollpane | Scroll Panes ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:swing:combo_box | Η κλάση JComboBox ]] | |