logo

Columpio Java | JList con ejemplos

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.