10/2/10

Añadir/Eliminar elementos de JList en Netbeans

Aqui se explica los pasos para añadir y eliminar elementos de un JList en Java y Netbeans.

El proyecto:
1. Crea un nuevo proyecto y añade un JFrame, despues coloca los siguientes elementos:

2. Se hara el uso del objeto DefaultListModel al que llamaremos "modelo", esto nos crea una lista vacia; tambien se usara un String donde se almacenara los nombres de los archivos que cargaremos en el JList, este se llamara "name";  por ultimo, para llevar un control de los elementos que se introduciran en el JList, se hace uso de una variable de tipo Entero (int), la que se llama "Seleccion", esta se inicializa en "-1".

3. Se inicializa el objeto " modelo" junto con el resto de los componentes


public JFrame1() {
        initComponents();
        modelo =   new DefaultListModel();
        LISTA.setModel(modelo);
    }

4.En el Objeto "cmdAnadir", se coloca las siguientes lineas de codigo:


 private void cmdAnadirActionPerformed(java.awt.event.ActionEvent evt) {
        JFileChooser fileChooser = new JFileChooser();       
       int result = fileChooser.showOpenDialog(null);  
        if ( result == JFileChooser.APPROVE_OPTION ){            
                name = fileChooser.getSelectedFile().getName();                
                modelo.addElement(name);                              
            }
    }
Este codigo abre una ventana de dialogo donde se puede buscar el archivo a insertar en el JList.

5. En el objeto JButton: cmdRemover:


private void cmdRemoverActionPerformed(java.awt.event.ActionEvent evt) {
        if (Seleccion>=0){
            modelo.removeElementAt(Seleccion);            
        }
    }
Explicacion: Si se tiene un objeto de la lista JList seleccionada, se procedera a su eliminacion.

6. Por el ultimo el codigo en el objeto JList: LISTA es el siguiente:


private void LISTAValueChanged(javax.swing.event.ListSelectionEvent evt) {
        // TODO add your handling code here:
        Seleccion = LISTA.getSelectedIndex();
        if (Seleccion >=0){
            jLabel1.setText("Archivo seleccionado: " + Seleccion);
        }
        else
        {
            jLabel1.setText("Archivo seleccionado:");
        }
    }

Solo falta compilar el proyecto y ejecutar el programa.

Notese que ya no se toca el objeto JList, sino solo se manipula el objeto DefaultListMode, y al insertar o eliminar elementos de este objeto, automaticamente se actualiza en el el JList. eso es todo

Bajate el codigo desde aqui.

8 comentarios:

  1. graciass....me ayudo mucho este codigo

    ResponderEliminar
  2. que tal amigo espero este bien noc porq razon pero me da un error en
    LISTA.setModel(modelo);
    Seleecion =LISTA.getSelectedIndex();
    por LISTA, porq sera...gracias

    ResponderEliminar
  3. ¿cual es el tipo de error?

    ResponderEliminar
  4. buen tuto men
    una duda los registro añadido a la lista pueden quedar grabados al iniciandolo de nuevo ???
    espero que me puedas contestar amigo

    felicidades por todo los tutoriales que tienes

    xaito !!!

    ResponderEliminar
  5. todas las modificaciones que hagas al DefaultListModel se reflejan en el JList, si por iniciar de nuevo te refieres a correr el programa desde cero, la respuetsta es no

    ResponderEliminar
  6. Hola, acabo de descubrir tu blog y me ha parecido excelente tu explicación sobre las listas. Acerca del tema de las listas, estoy creando un buscador de elementos: para esto tengo un jlist, un jtextfield y un jbutton. En el jlist tengo unas cuantas palabras al azar y mi idea es que de Jlist pero la idea es que cada vez que se presione una tecla del jtextfield, aparezcan solamente los elementos que tengan coincidencia con esta. Si puedes ayudarme con esto te estaría muy agradecido.

    ResponderEliminar
  7. Exelente explicacion hermano mil gracias, me fue de mucha ayuda

    ResponderEliminar