JList je součástí balíčku Java Swing. JList je komponenta, která zobrazuje sadu objektů a umožňuje uživateli vybrat jednu nebo více položek. JList dědí třídu JComponent. JList je snadný způsob, jak zobrazit pole vektorů.
Konstruktor pro JList jsou:
- JList() : vytvoří prázdný prázdný seznam JList(E [ ] l) : vytvoří nový seznam s prvky pole. JList(ListModel d) : vytvoří nový seznam se zadaným modelem seznamu JList(Vector l) : vytvoří nový seznam s prvky vektoru
Běžně používané metody jsou:
| metoda | vysvětlení |
|---|---|
| getSelectedIndex() | vrátí index vybrané položky seznamu |
| getSelectedValue() | vrátí vybranou hodnotu prvku seznamu |
| setSelectedIndex(int i) | nastaví vybraný index seznamu na i |
| setSelectionBackground (barva c) | nastaví barvu pozadí seznamu |
| setSelectionForeground (barva c) | Změní barvu popředí seznamu |
| setListData(E [ ] l) | Změní prvky seznamu na prvky l . |
| setVisibleRowCount(int v) | Změní vlastnost visibleRowCount |
| setSelectedValue(Object a, boolean s) | vybere zadaný objekt ze seznamu. |
| setSelectedIndices(int[] i) | změní výběr na sadu indexů specifikovaných daným polem. |
| setListData(Vektor l) | vytvoří ListModel pouze pro čtení ze zadaného Vektoru. |
| setLayoutOrientation(int l) | určuje orientaci seznamu |
| setFixedCellWidth(int w) | Změní šířku buňky seznamu na hodnotu předávanou jako parametr. |
| setFixedCellHeight(int h) | Změní výšku buňky seznamu na hodnotu předávanou jako parametr. |
| isSelectedIndex(int i) | vrátí true, pokud je vybrán zadaný index, jinak false. |
| indexToLocation(int i) | vrátí počátek zadané položky v souřadnicovém systému seznamu. |
| getToolTipText(MouseEvent e) | vrátí text popisku, který se má použít pro danou událost. |
| getSelectedValuesList() | vrátí seznam všech vybraných položek. |
| getSelectedIndices() | vrátí pole všech vybraných indexů v rostoucím pořadí |
| getMinSelectionIndex() | vrátí nejmenší vybraný index buňky nebo -1, pokud je výběr prázdný. |
| getMaxSelectionIndex() | vrátí největší index vybrané buňky nebo -1, pokud je výběr prázdný. |
| getListSelectionListeners() | vrátí posluchače seznamu |
| getLastVisibleIndex() | vrátí největší index seznamu, který je aktuálně viditelný. |
| getDragEnabled() | vrátí, zda je či není povolena automatická manipulace s přetažením |
| addListSelectionListener(ListSelectionListener l) | přidá seznamSelectionlistener do seznamu |
Následující programy ilustrují použití JLists
1. Program pro vytvoření jednoduchého JList
Jáva
ahoj světe java
plátek 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();> >}> > > }> |
>
>
Výstup :

virtuální stroj java
2. Program pro vytvoření seznamu a přidání itemListener do něj (program pro výběr narozenin pomocí seznamů) .
Jáva
python inicializační seznam
// 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());> > >}> > > }> |
>
řetězec v poli v c
>
Výstup :

Poznámka: Výše uvedené programy nemusí běžet v online kompilátoru, použijte Offline IDE