Para o iktuz

4 respostas
M

Caro Iktuz,

//... 
int row = table.getSelectedRow(); 
if (row > -1) { //então tem ítem selecionado 
    int column = table.getSelectedColumn(); 
    Object value = table.getValueAt(row, column); 
    System.out.println("Value: " + value); 
}

O que significa o Object value ?
Preciso pegar o Pk da linha selecionada, mas esse campo naum aparece na Jtable. Como posso fazer ?
Segue o meu código:

public class JanelaConsulta extends JFrame implements ActionListener{
	JButton Alterar;
	JButton Excluir;
	JButton Fechar;
	static public int id, id2;
	static public String  id3, SMarca, SModelo, SCor, SAno, SPreco, SObservacoes;
	static public  Connection conexao = null;
	static public ResultSet resultado = null;
	static public Statement instrucao = null;
	static public String caminho = "jdbc:mysql://127.0.0.1:3306/java";

public JanelaConsulta () {	
	
	setTitle("Consulta dos Dados Cadastrados");	
setSize(580, 200);
setLocationRelativeTo(null);
Alterar = new JButton("Alterar");
Alterar.setActionCommand("Alterar");
Excluir = new JButton("Excluir");
Excluir.setActionCommand("Excluir");
Fechar = new JButton("Fechar");
Fechar.setActionCommand("Fechar");
Alterar.addActionListener(this);
Fechar.addActionListener(this);
Excluir.addActionListener(this);
JPanel painel = new JPanel();
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(Alterar);
c.add(Excluir);
c.add(Fechar);
JTable tabela = getJanelaConsulta();
JScrollPane scroll = new JScrollPane(tabela);
tabela.setPreferredScrollableViewportSize(new Dimension(500, 95));
getContentPane().add(scroll, BorderLayout.CENTER);
tabela.updateUI();
painel.updateUI();

}

private JTable getJanelaConsulta() {
	try {
		System.out.println("1. registra o driver");
		DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());

		System.out.println("2.");
		conexao = DriverManager.getConnection(caminho, "teste", "123");
		instrucao = conexao.createStatement();

		System.out.println("3. executa query");
		String sql = "SELECT * FROM carros ORDER BY id";
		resultado = instrucao.executeQuery(sql);
		Vector colunas = new Vector();
		colunas.add("Marca");
		colunas.add("Modelo");
		colunas.add("Cor");
		colunas.add("Ano");
		colunas.add("Preço");
		colunas.add("Observações");
		Vector dados = new Vector();
		
		while (resultado.next()) {
		Vector linha = new Vector();
		SMarca = resultado.getString("Marca");
		SModelo = resultado.getString("Modelo");
		SCor = resultado.getString("Cor");
		SAno = resultado.getString("Ano");
		SPreco = resultado.getString("Preco");
		SObservacoes = resultado.getString"Observacoes");	                linha.add(SMarca);
		linha.add(SModelo);
		linha.add(SCor);
		linha.add(SAno);
		linha.add(SPreco);
		linha.add(SObservacoes);
		dados.add(linha);
			
		}
		[color=red]//tentei colocar aki
		JTable table = new JTable(dados, colunas);
		int row = table.getSelectedRow(); 
		if (row > -1) { 
		int column = table.getSelectedColumn(); 
		Object id= table.getValueAt(row, column);[/color] 
		    
			} 

		table.updateUI();
		return table;
		}
	catch (SQLException E) {
	System.out.println("---------------------------------");
	System.out.println("Erro ao acessar o banco de dados");
	System.out.println("SQLException: " + E.getMessage());
	System.out.println("SQLState: " + E.getSQLState());
	System.out.println("VendorError: " + E.getErrorCode());
	System.out.println("---------------------------------");
		E.printStackTrace();
		return null;
	}
		
		
	}



public void actionPerformed(ActionEvent e) {
	if ("Fechar".equals(e.getActionCommand())) {
		dispose();
	}
	if ("Alterar".equals(e.getActionCommand())) {
		Janelas.getJanelaAlteracao().show(); 
		
	}
	if ("Excluir".equals(e.getActionCommand())) {
		try {
	                //aki eu chamo para excluir do BD
		[color=blue]ExcluirBanco.excluir(id); [/color]
			} 
		catch (Exception d) {
			
			}
	} 
}
}

Valeu,
Mauro

P.S. Vc pode me incluir no MSN: [email removido]
pra me manda um e-mail use : [email removido]

[size="9"][color="red"]* Utilize BBCode e aumente as chances de respostas ao seu tópico - Guilherme Mello[/color][/size]

4 Respostas

P

Ohh, que legal ! …
pra que sera que serve esse treco aqui…
Mensagens privadas…

G

“pregospan”:
Ohh, que legal ! …
pra que sera que serve esse treco aqui…
Mensagens privadas…

  • 1

:cry:

S

Creio que ele quis responder a esse tópico, mas clicou no botão errado e criou um novo. :lol:

I

Desculpe não ter respondido antes, tinha visto tua dúvida mas saí do trabalho mais cedo ontem.

Acho que a melhor maneira de te mostrar o que ele significa é te mostrando como funciona o TableModel do JTable. Confira no link no tutorial da Sun.

Acho que não é legal postar tópicos desta maneira :roll:

T+

Criado 30 de novembro de 2006
Ultima resposta 1 de dez. de 2006
Respostas 4
Participantes 5