1 - Tengo un jbutton que captura el valor de un jlabel con ActionListener(actionPerformed) para la consulta a la base de datos.
2 - En el evento ActionListener(actionPerformed) llamo a un metodo que lanza un jdialog,
3 - En el jdialog tengo un jlist con el resultado de la consulta realizada.
4 - Hata Aqui todo bien
5 - Aquí es donde tengo la consulta ¿como puedo recuperar el valor del jlist para ponerlo en un jlabel con double click?
6 - O paso el código
El buscador
Código:
Jdialog emergenteprivate void initDataPanel() { //Creo e instancio los componentes de los clientes lblSearchCustomer = new JLabel("Buscar Cliente (DNI-Móvil)", SwingConstants.CENTER); jtfCustomer = new JTextField("", 20); btnSearchCustomer = new JButton("Buscar"); lblCustomer = new JLabel("", SwingConstants.CENTER); // Añado el evento al boton btnSearchCustomer.addActionListener((new ActionListener() { @Override public void actionPerformed(ActionEvent e) { searchConsumers(); } })); dataPanel = new JPanel(); dataPanel.setLayout(new GridLayout(1, 4, 10, 10)); dataPanel.add(lblSearchCustomer); dataPanel.add(jtfCustomer); dataPanel.add(btnSearchCustomer); dataPanel.add(lblCustomer);
Código:
void searchConsumers() { // Creo el jdialogo jdCustomer = new JDialog(); jdCustomer.setSize(460, 240); jdCustomer.setLocationRelativeTo(null); jdCustomer.setVisible(true); // Creo un panel general para colocar la lista jpCustomer = new JPanel(); jpCustomer.setLayout(new GridLayout(1, 1)); jpCustomer.setBorder(new EmptyBorder(20, 20, 20, 20)); // Borcer vacio como padding // creo la lista listCustomer = new JList(); txtSearchConsumer = jtfCustomer.getText(); modelListCustomer = new DefaultListModel(); listCustomer.setBorder(new EmptyBorder(10, 10, 10, 10)); // Borcer vacio como padding scrollListCustomer = new JScrollPane(listCustomer); scrollListCustomer.setViewportView(listCustomer); // Creamos una conexion conexion = new ConexionDatabase(); // conectamos cnx = conexion.Connect(); // Creamos la consulta String sql_search = "select * from person where person.dni = '" + txtSearchConsumer + "'"; // Lo ejecutamos y almaceno los vendedores en el combobox try { PreparedStatement ps = cnx.prepareStatement(sql_search); ResultSet rs = ps.executeQuery(sql_search); while (rs.next()) { modelListCustomer.addElement(rs.getString(3) + " " + rs.getString(4) + " " + rs.getString(5));//nombre es el campo de la base de datos } listCustomer.setModel(modelListCustomer); // Cierro la conexion cnx.close(); } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex); } jpCustomer.add(scrollListCustomer); jdCustomer.add(jpCustomer); }