Linha de uma JList editar em uma outra janela

3 respostas
alfredo-avai

Boa tarde pessoal, beleza.
Preciso de uma ajuda, não sei como colocar o conteudo de uma linha selecionada da Jlist de uma tela de busca e envia-la para uma tela de edição.
Tentei usar o getselectvalues em um evento do botao da tela de busca para fazer , só que não sei como setar os textfields da tela de editar com um object que retorna do metodo getselectvalues.
Alguem tem alguma dica ?pesquisei pelos foruns e não encontrei nada.
Valeu abraços.

3 Respostas

Rummenigge

Se os objetos que estão contidos em sua lista forem String’s, basta só dar um Casting no objeto selecionado .

textField.setText( (String) lista.getSelectedValue());//Retorna o valor selecionado e o converte em uma String

Espero que ajude.

alfredo-avai

Obrigado por ter respondido.
só que o problema é que eu estou trabalhando com um objeto com o metodo to string() todos os varios campos do objeto(nome, telefone email) estão em uma unica celula da jlist.
tentei fazer oque você sugeriu, tentei passar com parametro para a classe da tela de excluir mas não deu.
segue meu codigo abaixo, se puderem dar uma luz para isso valeu.

package telas.agenda;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;

import javax.swing.*;

import Conexao.Conexao;
import java.awt.event.*;   

import beans.AgendaTelefonica;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class TelaBuscarNomes extends JFrame {
	
	private JLabel JLnome;
	private JTextField JTnome;
	private	JButton JBConfirmar,JBExcluir,JBEditar, JBCancelar;

	public TelaBuscarNomes() {
	    
		super("Tela Buscar Cadastro Completo");
		
		this.setVisible(false);
		
		this.setBounds(400, 200, 700, 450);
		
		this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		
		this.getContentPane().setLayout(new GridLayout(3, 2));

		JPanel JPanelGeral = new JPanel();
		
		JPanel JPanelFormulario = new JPanel();
		
		JPanel JPanelBotoes = new JPanel();
		
		JPanel JPanelBotoesAuxiliares=new JPanel();
				
		final JList lista = new JList();
		
		lista.setLayoutOrientation(JList.HORIZONTAL_WRAP);
		
		lista.setVisibleRowCount(0);
		
		JScrollPane scroll=new JScrollPane(lista);
				
		JLnome = new JLabel("Procurar Nome: ");
		
		JTnome = new JTextField("", 25);
		
		JPanelFormulario.add(JLnome);
		
		JPanelFormulario.add(JTnome);

		JBConfirmar = new JButton("Buscar");
		
		JBConfirmar.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
		
				String auxNome=JTnome.getText();
				
				try {
				
					Connection con = null;
					
					con = (Connection) Conexao.getConnection();
					
					Statement stm = (Statement) con.createStatement();
					
					ResultSet rs=null;
					
					ArrayList<String> resultados = new ArrayList<String>();
					
					rs= stm.executeQuery("SELECT * FROM agendatelefonica where de_nome like '%"+auxNome+"%' ");
					
                    ArrayList<String> resultadosIt = new ArrayList<String>();
					
									
					while(rs.next()){
						
						AgendaTelefonica agenda=new AgendaTelefonica();
						
						agenda.setId(Integer.parseInt(rs.getString("cd_id")));
					
						agenda.setNome(rs.getString("de_nome"));
						
						agenda.setTelefoneResidencial(rs
								.getString("de_telefoneresidencial"));

						agenda.setTelefoneComercial(rs
								.getString("de_telefonecomercial"));
						
						agenda.setCelular1(rs.getString("de_celular1"));
						
						agenda.setCelular2(rs.getString("de_celular2"));
						
						agenda.setEmail1(rs.getString("de_email1"));

                        resultadosIt.add(agenda.toString());
						
					}
					
					Iterator it = resultadosIt.iterator();
					
					DefaultListModel model = new DefaultListModel();
					
					lista.setModel(model);
					
					while (it.hasNext()) {
					
						String itemLista = (String) it.next();
						
						model.addElement(itemLista);
					}	
						rs.close();
						stm.close();
						con.close();
						
					
				} catch (SQLException e1) {
					
					e1.printStackTrace();
		}
		}
		}
		);

		JPanelBotoes.add(JBConfirmar);
		
		JBCancelar = new JButton("Fechar");
		
		JBCancelar.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
		
				dispose();
				
				setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		}
		}
		);
		
		JBEditar=new JButton("Editar Cadastro");
		
		JBEditar.addActionListener(new ActionListener() {
		   public void actionPerformed(ActionEvent arg0) {
		
			   
			   Object agenda=lista.getSelectedValues();
		
			TelaEditarCadastro tela=new TelaEditarCadastro();
			tela.setVisible(true);
			}
		});
		
		JPanelBotoesAuxiliares.add(JBEditar);
		
		JBExcluir=new JButton("Excluir Cadastro");
		
		JPanelBotoesAuxiliares.add(JBExcluir);
		
		JPanelBotoes.add(JBCancelar);
		
		JPanelGeral.add(JPanelFormulario);
		
		JPanelGeral.add(JPanelBotoes);
		
		JPanelGeral.add(JPanelBotoesAuxiliares);
		
		this.getContentPane().add(JPanelGeral);
		
		this.getContentPane().add(scroll);
		
	
	}
}
alfredo-avai

Resolvi com a dica que voçe deu obrigado!

Criado 22 de dezembro de 2010
Ultima resposta 4 de jan. de 2011
Respostas 3
Participantes 2