JList es parte del paquete Java Swing. JList es un componente que muestra un conjunto de objetos y permite al usuario seleccionar uno o más elementos. JList hereda la clase JComponent. JList es una manera fácil de mostrar una matriz de vectores.
El constructor para JList son:
- JList(): crea una lista en blanco vacía. JList(E [ ] l): crea una nueva lista con los elementos de la matriz. JList(ListModel d): crea una nueva lista con el modelo de lista especificado JList(Vector l): crea una nueva lista con los elementos del vector
Los métodos comúnmente utilizados son:
| método | explicación |
|---|---|
| obtener índice seleccionado() | devuelve el índice del elemento seleccionado de la lista |
| obtenerValorSeleccionado() | devuelve el valor seleccionado del elemento de la lista |
| setSelectedIndex(int i) | establece el índice seleccionado de la lista en i |
| establecerSelecciónFondo(Color c) | establece el color de fondo de la lista |
| setSelectionForeground(Color c) | Cambia el color de primer plano de la lista. |
| setListData(E [ ] l) | Cambia los elementos de la lista a los elementos de l . |
| setVisibleRowCount(int v) | Cambia la propiedad visibleRowCount |
| setSelectedValue(Objeto a, booleano s) | selecciona el objeto especificado de la lista. |
| setSelectedIndices(int[] i) | cambia la selección para que sea el conjunto de índices especificados por la matriz dada. |
| setListData(Vector l) | construye un ListModel de solo lectura a partir de un vector especificado. |
| establecerLayoutOrientation(int l) | define la orientación de la lista |
| setFixedCellWidth(int w) | Cambia el ancho de celda de la lista al valor pasado como parámetro. |
| establecerAlturaCeldaFija(int h) | Cambia la altura de la celda de la lista al valor pasado como parámetro. |
| isSelectedIndex(int i) | devuelve verdadero si se selecciona el índice especificado; en caso contrario, falso. |
| indexToLocation(int i) | devuelve el origen del elemento especificado en el sistema de coordenadas de la lista. |
| getToolTipText(MouseEvent e) | devuelve el texto de información sobre herramientas que se utilizará para el evento determinado. |
| obtenerListaDeValoresSeleccionados() | devuelve una lista de todos los elementos seleccionados. |
| obtener índices seleccionados() | devuelve una matriz de todos los índices seleccionados, en orden creciente |
| getMinSelectionIndex() | devuelve el índice de celda seleccionado más pequeño, o -1 si la selección está vacía. |
| getMaxSelectionIndex() | devuelve el índice de celda seleccionado más grande, o -1 si la selección está vacía. |
| getListSelectionListeners() | devuelve los oyentes de la lista |
| obtenerÚltimoÍndiceVisible() | devuelve el índice de lista más grande que está visible actualmente. |
| getDragEnabled() | devuelve si el manejo automático de arrastre está habilitado o no |
| addListSelectionListener(ListSelectionListener l) | agrega un listSelectionlistener a la lista |
Los siguientes programas ilustrarán el uso de JLists
1. Programa para crear una JList sencilla
Java
cadenas de clasificación 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();> >}> > > }> |
java agregar cadena
>
>
Producción :

lobo o zorro
2. Programa para crear una lista y agregarle itemListener (programa para seleccionar su cumpleaños usando listas).
Java
valor de cadena
// 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());> > >}> > > }> |
>
matriz de cadenas en lenguaje c
>
Producción :

Nota: Es posible que los programas anteriores no se ejecuten en un compilador en línea. Utilice un IDE sin conexión.