Autor Tema: Buscar elemento en JList usando JTextField y jButton java  (Leído 11823 veces)

cardiobeta

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 39
    • Ver Perfil
Hola. Tengo un JList llamado list1 el cual tiene los siguientes elementos: Maturin, Guayana, Caracas y Araure. Adicionalmente tengo un jTextField y un jButton. Al escribir un nombre en el JTextField y luego presionar el boton debo saber si el elemento existe o no en el jList. Gracias de antemano.
« Última modificación: 05 de Septiembre 2014, 10:16 por Alex Rodríguez »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Buscar elemento en JList
« Respuesta #1 en: 18 de Marzo 2013, 08:36 »
Aquí tienes código de ejemplo; el usuario introduce un texto y se muestra por pantalla si está o no está en el JList, espero te sirva.

Código: [Seleccionar]
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Vector;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Programa1 extends JFrame {

    // CONTROLES Y CAMPOS DEL FORMULARIO       

    JPanel jpanel = (JPanel) this.getContentPane();

    JLabel jlabel = new JLabel();

    JTextField jtextfield = new JTextField();   

    String[] data = {"Maturin", "Guayana", "Caracas", "Araure"};;

    //(4) CONSTRUCTOR DEL FORMULARIO       

    public Programa1() {

        jpanel.setLayout(null);
        jpanel.setBackground(Color.lightGray);         
        jlabel.setBounds(new Rectangle(5, 15, 220, 21));
        jtextfield.setBounds(new Rectangle(190, 15, 95, 30));
        jpanel.add(jlabel, null);
        jpanel.add(jtextfield, null);
        setSize(500,450);
        setTitle("Form1");

        setVisible(true);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        jlabel.setText("Por favor escribe una palabra");

        JButton ejemploButton = new JButton("Pulsa aquí");
        ejemploButton.setBounds(50, 60, 80, 30);

        jpanel.add(ejemploButton);

        // Create a JList that displays strings from an array
        JList myList = new JList(data);
        ejemploButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    ArrayList myList2 = new ArrayList(Arrays.asList(data));
                    String cadena  = jtextfield.getText();
                    if (myList2.contains(cadena) == true) {
                        System.out.println ("El texto está en el JList");}
                    else { System.out.println ("El texto NO está en el JList");}
                }
            });

        myList.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        myList.setLayoutOrientation(JList.HORIZONTAL_WRAP);
        myList.setVisibleRowCount(-1);

        JScrollPane listScroller = new JScrollPane(myList);
        listScroller.setPreferredSize(new Dimension(250, 80));
        myList.setBounds(new Rectangle(210, 75, 110, 200));

        jpanel.add(myList);

        // myList.setVisible(true);

    }     

    public static void main(String arg[]) {
        new Programa1();
    }

}   

cardiobeta

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 39
    • Ver Perfil
Re:Buscar elemento en JList
« Respuesta #2 en: 18 de Marzo 2013, 16:59 »
Ok. Gracias. Ahora si el list se llena a partir de una base de datos ¿como se haria?. ¿Quien representaria a la variable data?.

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Buscar elemento en JList
« Respuesta #3 en: 19 de Marzo 2013, 14:55 »
Crea el array data y rellénalo desde la base de datos, luego rellena el list con el array.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".