Java Swing | JList mit Beispielen

Java Swing | JList mit Beispielen

JList ist Teil des Java Swing-Pakets. JList ist eine Komponente, die eine Reihe von Objekten anzeigt und es dem Benutzer ermöglicht, ein oder mehrere Elemente auszuwählen. JList erbt die JComponent-Klasse. JList ist eine einfache Möglichkeit, ein Array von Vectors anzuzeigen.
Konstruktoren für JList sind:

    JList(): Erstellt eine leere Liste. JList(E [] l): Erstellt eine neue Liste mit den Elementen des Arrays. JList(ListModel d) : erstellt eine neue Liste mit dem angegebenen Listenmodell JList(Vector l) : erstellt eine neue Liste mit den Elementen des Vektors

Häufig verwendete Methoden sind:

Methode Erläuterung
getSelectedIndex() gibt den Index des ausgewählten Elements der Liste zurück
getSelectedValue() gibt den ausgewählten Wert des Elements der Liste zurück
setSelectedIndex(int ​​i) setzt den ausgewählten Index der Liste auf i
setSelectionBackground(Farbe c) Legt die Hintergrundfarbe der Liste fest
setSelectionForeground(Farbe c) Ändert die Vordergrundfarbe der Liste
setListData(E [ ] l) Ändert die Elemente der Liste in die Elemente von l .
setVisibleRowCount(int v) Ändert die sichtbareRowCount-Eigenschaft
setSelectedValue(Objekt a, boolean s) wählt das angegebene Objekt aus der Liste aus.
setSelectedIndices(int[] i) Ändert die Auswahl so, dass sie der durch das angegebene Array angegebene Satz von Indizes entspricht.
setListData(Vector l) Konstruiert ein schreibgeschütztes ListModel aus einem angegebenen Vektor.
setLayoutOrientation(int l) definiert die Ausrichtung der Liste
setFixedCellWidth(int w) Ändert die Zellenbreite der Liste auf den als Parameter übergebenen Wert.
setFixedCellHeight(int h) Ändert die Zellenhöhe der Liste auf den als Parameter übergebenen Wert.
isSelectedIndex(int ​​i) gibt true zurück, wenn der angegebene Index ausgewählt ist, andernfalls false.
indexToLocation(int i) gibt den Ursprung des angegebenen Elements im Koordinatensystem der Liste zurück.
getToolTipText(MouseEvent e) Gibt den Tooltip-Text zurück, der für das angegebene Ereignis verwendet werden soll.
getSelectedValuesList() gibt eine Liste aller ausgewählten Elemente zurück.
getSelectedIndices() Gibt ein Array aller ausgewählten Indizes in aufsteigender Reihenfolge zurück
getMinSelectionIndex() gibt den kleinsten ausgewählten Zellenindex zurück, oder -1, wenn die Auswahl leer ist.
getMaxSelectionIndex() gibt den größten ausgewählten Zellenindex zurück oder -1, wenn die Auswahl leer ist.
getListSelectionListeners() gibt die Listener der Liste zurück
getLastVisibleIndex() gibt den größten Listenindex zurück, der derzeit sichtbar ist.
getDragEnabled() Gibt zurück, ob die automatische Drag-Handhabung aktiviert ist oder nicht
addListSelectionListener(ListSelectionListener l) Fügt der Liste einen listSelectionlistener hinzu

Die folgenden Programme veranschaulichen die Verwendung von JLists
1. Programm zum Erstellen einer einfachen JList

Java




// java Program to create a simple JList> import> java.awt.event.*;> import> java.awt.*;> import> javax.swing.*;> class> solve> extends> JFrame> {> > > //frame> > static> JFrame f;> > > //lists> > static> JList b;> > > //main class> > public> static> void> main(String[] args)> > {> > //create a new frame> > f => new> JFrame(> 'frame'> );> > > //create a object> > solve s=> new> solve();> > > //create a panel> > JPanel p => new> JPanel();> > > //create a new label> > JLabel l=> new> JLabel(> 'select the day of the week'> );> > //String array to store weekdays> > String week[]= {> 'Monday'> ,> 'Tuesday'> ,> 'Wednesday'> ,> > 'Thursday'> ,> 'Friday'> ,> 'Saturday'> ,> 'Sunday'> };> > > //create list> > b=> new> JList(week);> > > //set a selected index> > b.setSelectedIndex(> 2> );> > > //add list to panel> > p.add(b);> > > f.add(p);> > > //set the size of frame> > f.setSize(> 400> ,> 400> );> > > f.show();> > }> > > }>

Ausgabe :

2. Programm zum Erstellen einer Liste und Hinzufügen von itemListener dazu (Programm zum Auswählen Ihres Geburtstags mithilfe von Listen).

Java




// java Program to create a list and add itemListener to it> // (program to select your birthday using lists) .> import> javax.swing.event.*;> import> java.awt.*;> import> javax.swing.*;> class> solve> extends> JFrame> implements> ListSelectionListener> {> > > //frame> > static> JFrame f;> > > //lists> > static> JList b,b1,b2;> > > //label> > static> JLabel l1;> > > //main class> > public> static> void> main(String[] args)> > {> > //create a new frame> > f => new> JFrame(> 'frame'> );> > > //create a object> > solve s=> new> solve();> > > //create a panel> > JPanel p => new> JPanel();> > > //create a new label> > JLabel l=> new> JLabel(> 'select your birthday'> );> > l1=> new> JLabel();> > //String array to store weekdays> > String month[]= {> 'January'> ,> 'February'> ,> 'March'> ,> > 'April'> ,> 'May'> ,> 'June'> ,> 'July'> ,> 'August'> ,> > 'September'> ,> 'October'> ,> 'November'> ,> 'December'> };> > > //create a array for months and year> > String date[]=> new> String[> 31> ],year[]=> new> String[> 31> ];> > > //add month number and year to list> > for> (> int> i=> 0> ;i <> 31> ;i++)> > {> > date[i]=> ''> +(> int> )(i+> 1> );> > year[i]=> ''> +(> int> )(> 2018> -i);> > }> > > //create lists> > b=> new> JList(date);> > b1=> new> JList(month);> > b2=> new> JList(year);> > > //set a selected index> > b.setSelectedIndex(> 2> );> > b1.setSelectedIndex(> 1> );> > b2.setSelectedIndex(> 2> );> > > l1.setText(b.getSelectedValue()+> ' '> +b1.getSelectedValue()> > +> ' '> +b2.getSelectedValue());> > > //add item listener> > b.addListSelectionListener(s);> > b1.addListSelectionListener(s);> > b2.addListSelectionListener(s);> > > //add list to panel> > p.add(l);> > p.add(b);> > p.add(b1);> > p.add(b2);> > p.add(l1);> > > f.add(p);> > > //set the size of frame> > f.setSize(> 500> ,> 600> );> > > f.show();> > }> > public> void> valueChanged(ListSelectionEvent e)> > {> > //set the text of the label to the selected value of lists> > l1.setText(b.getSelectedValue()+> ' '> +b1.getSelectedValue()> > +> ' '> +b2.getSelectedValue());> > > }> > > }>

Ausgabe :

Hinweis: Die oben genannten Programme können möglicherweise nicht in einem Online-Compiler ausgeführt werden. Bitte verwenden Sie eine Offline-IDE