Listenfelder werden von der Swing -Komponente JList generiert, die immer eine feste Anzahl von Zeilen auf dem Bildschirm einnimmt. Wenn Sie das ausgewählte Element in das Listenfeld erhalten möchten, rufen Sie einfach GetSelectedValuesList () an, das eine Reihe von Zeichenfolgen mit dem ausgewählten Elementnamen erstellen kann. Die JList -Komponente ermöglicht mehrere Auswahlmöglichkeiten. Wenn Sie die Strg -Taste gedrückt halten, können Sie alle Klickelemente auswählen. Wenn Sie ein Element auswählen, halten Sie die Umschalttaste gedrückt und klicken Sie auf ein anderes Element, dann werden alle Elemente zwischen den beiden Elementen ausgewählt. Um eines aus dem ausgewählten Element zu entfernen, halten Sie die Strg -Taste gedrückt und klicken Sie auf das Element.
Nach dem Initialisieren des Listenfelds und dem Hinzufügen und Ändern von Inhalten zum Listenfeld. Es ist in statische Operationen und dynamische Operationen unterteilt.
1. statischer Operation
Der statische Betrieb bedeutet, gleichzeitig alle Elemente zu JList hinzuzufügen. Nach dem Hinzufügen kann es nicht geändert oder gelöscht werden. Das heißt, das Listenfeld kann während der Programmausführung nicht betrieben werden.
Z.B
Pakettest; import Javax.swing.*; Import Java.awt. JList (str); setLayout (new FlowLayout ()); add (list);} public static void main (String [] args) {run (neuer listest1 (), 200.100);}}Fügen Sie wie im obigen Beispiel einfach alle Elemente bei der Initialisierung von JList hinzu.
Ausführungsergebnis: Das Listenfeld kann nicht betrieben werden.
2. Dynamischer Betrieb
Wenn Sie sich die JList -Methode ansehen, können Sie feststellen, dass JList nicht für den dynamischen Betrieb des Listenfelds verantwortlich ist. Alle Details des dynamischen Vorgangs können im "Listenmodell", nämlich im Standardlistmodel, abgeschlossen werden. Fügen Sie einfach das Listenmodell der JList hinzu.
DefaultListModel listModel = new DefaultListModel (); listModel.addelement (Element1); // Element listModel.clear (); // Alle Elemente listModel.remove (int Index); // Elemente an der angegebenen Position löschen
Z.B
Pakettest; import Java.awt.*; Import Java.awt.event. {"Monday","Tuesday","Wednesday","Thursday","Friday","Staturday","Sunday"};private JButton button1 = new JButton("Add Item"),button2 = new JButton("Clear Item");private JTextArea text = new JTextArea(str.length,20);private DefaultListModel listmodel = new DefaultListModel();private JList list = new JList (ListModel); // Fügen Sie das Listenmodell zu JList hinzu, das Listenmodell ist für das Ausfüllen dynamischer Vorgänge verantwortlich und JList ist für das Erstellen von Listen und vielen anderen Aufgaben (z. B. mehrere Auswahl) verantwortlich. private int count = 0; e){if(count<str.length){listmodel.addElement(str[count++]);}else{button1.setEnabled(flag);flag = true;}}});button2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(count<str.length){count = 0;//Restart the listModel.clear (); // Klicken Sie auf das Listelement Text.setText (null);} else {count = 0; listModel.clear (); text.setText (null); button1.setEnable (Flagge); // starten button}}); list.addlistSectionListern (new Listelection) (new listelectionListener) | ValuEchanged (ListSelectionEvent e) {if (e.getValueisAding ()) return; // Wenn das Ereignis zu ändern ist, gibt es wahr, und die nachfolgende Anweisung wird nicht ausgeführt. für (Objektelement: list.getSelectedValuesList ()) {text.Append (item + "/n"); // List -Objekt in Objekt konvertieren} // List -Anrufe getSelectedValuesList () -Methoden zur Generierung eines Arrays von Strings mit dem ausgewählten Elementnamen}}); Color.red); // Randliste hinzufügen.Ausführungsergebnisse:
Im obigen Programm werden im Verarbeitungsprozess von JList die GetValueisadjusting () -Methode der von JList unterstützten Event -Listentele -Event unterstützt, die von JList und der Methode GetSelectedValuesList () unterstützt wird. Achten Sie auf die Verwendung dieser beiden Methoden.
(1) boolean javax.swing.event.listSelectionEvent.getValueisadjusting ()
Gibt zurück, ob dieses Ereignis eines von mehreren verschiedenen Ereignissen ist, die sich immer noch ändern, und kehrt true zurück, wenn dieses Ereignis eines von mehreren verschiedenen Ereignissen ist, die sich noch ändern.
Für ein Ereignis, das als Antwort auf den Drag eines Benutzers aktualisiert wird, wird diese Eigenschaft zu Beginn des Drags auf True eingestellt. und ist am Ende des Luftwiderstands auf falsch eingestellt. Während des Ziehens erhält der Hörer ein Ereignis, bei dem die ValueSadjusting -Eigenschaft auf wahr eingestellt ist. Am Ende des Zuges erhält der Hörer, wenn der Änderungswechsel endet, ein Ereignis mit einem Wert auf False.
Wenn Sie die Erkennungsanweisung von Aktualisierung aus dem Registrierungsprogramm des JList -Objekts entfernen:
if (e.getValueisAdjusting ()) return;
Die Ausgabe ist:
Es ist ersichtlich, dass es keine Aktualisierungserkennung gibt und nach Auswahl des Listenfeldelements wiederholte Ausgaben vorliegen.
(2) Liste javax.swing.jlist.getSelectedValuesList ()
Das JList -Objekt ruft die Methode getSelectedValuesList () auf, um ein Array von Zeichenfolgen mit dem ausgewählten Elementnamen zu generieren.
3. JList Scrollbar
JList bietet keine direkte Unterstützung für das Scrollen, wir wickeln JSLIST einfach in JScrollPane ein, es hilft automatisch bei allen Details.
Zusammenfassung: Wenn Sie JList Elementen hinzufügen möchten, können Sie statische Operationen ausführen, die alle Elemente hinzufügen, wenn JList initialisiert wird, oder Sie können das StandardlistModel "List -Modell" verwenden, um dynamische Operationen aller Details der Listenänderung zu verarbeiten.
HINWEIS: Die Erkennung von Aktualisierungen kann während der Auswahl von JList -Elementen verwendet werden, um die Stabilität des Programms zu gewährleisten.
Das obige ist das Listenfeld der vom Editor vorgestellten Java Graphical User Interface. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!