Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: cardiobeta en 17 de Marzo 2013, 19:50

Título: Buscar elemento en JList usando JTextField y jButton java
Publicado por: cardiobeta en 17 de Marzo 2013, 19:50
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.
Título: Re:Buscar elemento en JList
Publicado por: javi in the sky 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();
    }

}   
Título: Re:Buscar elemento en JList
Publicado por: cardiobeta 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?.
Título: Re:Buscar elemento en JList
Publicado por: javi in the sky 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.