Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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.
-
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.
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();
}
}
-
Ok. Gracias. Ahora si el list se llena a partir de una base de datos ¿como se haria?. ¿Quien representaria a la variable data?.
-
Crea el array data y rellénalo desde la base de datos, luego rellena el list con el array.