Pessoal, bom dia!
Tenho 2 dúvidas, vou colocar num mesmo post porque o forum limita a quantidade de posts por usuário por dia… vai entender…
Dúvida 1 : Quando eu clico na linha da tabela o Foco não está jogando para os itens, tenho que clicar algumas vezes para conseguir isso.
Segue código (acho que estou no evento errado):
private void tbUsuariosMouseClicked(java.awt.event.MouseEvent evt) {
mostraItens();
}
public void mostraItens()
{
limparCampos();
int seleciona = tbUsuarios.getSelectedRow();
txtCodigo.setText(tbUsuarios.getModel().getValueAt(seleciona, 0).toString());
txtNome.setText(tbUsuarios.getModel().getValueAt(seleciona, 1).toString());
txtEmail.setText(tbUsuarios.getModel().getValueAt(seleciona, 2).toString());
txtLogin.setText(tbUsuarios.getModel().getValueAt(seleciona, 3).toString());
txtSenha.setText(tbUsuarios.getModel().getValueAt(seleciona, 4).toString());
tb_btn_editar.setEnabled(true);
tb_btn_excluir.setEnabled(true);
tb_btn_pesquisar.setEnabled(true);
tb_btn_log.setEnabled(true);
}
Dúvida 2 :
Como eu faço pra fazer um select que me traz 5 colunas e colocar apenas 4 na grid? Quando jogo as 5 colunas mesmo tendo 4 no layout ele adiciona mais uma. Se eu coloco só os campos na minha query que eu quero que apareçam na grid tenho problemas porque os campos da tela precisam de campos que a grid não tem.
Por exemplo:
A tabela usuarios possui 5 campos: codigo, nome, email, login e senha. Só que por razões obvias não queria que a senha aparecesse na grid. Só que não estou conseguindo implementar isso. Queria resolver isso da maneira correta e não limitando o código da query "select codigo, nome, email, login from usuarios ".
public void listarUsuarios() {
String sql = "select * from usuarios";
try {
pst = conecta.prepareStatement(sql);
rs = pst.executeQuery();
tbUsuarios.setModel(DbUtils.resultSetToTableModel(rs));
tbUsuarios.getColumnModel().getColumn(0).setPreferredWidth(50);
tbUsuarios.getColumnModel().getColumn(1).setPreferredWidth(250);
tbUsuarios.getColumnModel().getColumn(2).setPreferredWidth(200);
tbUsuarios.getColumnModel().getColumn(3).setPreferredWidth(80);
}
catch(SQLException error)
{
JOptionPane.showMessageDialog(null, error);
}
}
Grato pela ajuda!
Alessandro.
