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]
