Estou com problemas na hora de gerar a caixa de mensagem do “JOptionPane.showMessageDialog”, além de não gerar não posso clicar em outro botão, alguém com esse mesmo problema?
private void consultarnome(){
String sql = “select * from usuario where nome=?”;
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtNome.getText());
rs = pst.executeQuery();
if (rs.next()) {
txtNome.setText(rs.getString(2));
txtCPF.setText(rs.getString(3));
txtID.setText(rs.getString(1));
cmbPermissao.setSelectedItem(rs.getString(4));
txtNumPermissao.setText(rs.getString(5));
} else {
JOptionPane.showMessageDialog(null, “Nome não encontrado”);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
Não aparece nenhum erro, apenas trava a tela sem aparecer a caixa de dialogo.
Vixi, vc fez o import do JOptionPane?
É que agora eu não tô em casa, então não da pra testar, mas assim que eu chegar eu testo
1 curtida
Sim importei, nao sei o que esta acontecendo, talvez seja devido a eu estar usando no projeto 3 telas?
Vamos lá, vc quer fazer a validação de Login né?
1 curtida
Na verdade é bem aqui onde ele trava
private void adicionar()
String sql = “insert into usuario(nome,login,senha,tipo_usuario) values(?,?,?,?,?)”;
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtNome.getText());
pst.setString(2, txtCPF.getText());
pst.setString(3, cmbModalidade.getSelectedItem().toString());
pst.setString(4, txtNumPermissao.getText());
// A linha abaixo confirma a inserção dos dados na tabela
int adicionado = pst.executeUpdate();
if (adicionado >0) {
JOptionPane.showMessageDialog(null, “Usuário adicionado com sucesso”);
}
} catch (Exception erro4) {
JOptionPane.showMessageDialog(null, erro4);
}
}
Não seria
private void adicionar()
String sql = “insert into usuario(nome,login,senha,tipo_usuario) values(?,?,?,?,?)”;
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtNome.getText());
pst.setString(2, txtCPF.getText());
pst.setString(3, cmbModalidade.getSelectedItem().toString());
pst.setString(4, txtNumPermissao.getText());
// A linha abaixo confirma a inserção dos dados na tabela
int adicionado = pst.executeUpdate();
if (adicionado >0) {
JOptionPane.showMessageDialog(null, “Usuário adicionado com sucesso”);
}
} catch (Exception erro4) {
Texto pré-formatado JOptionPane.showMessageDialog(null, erro4.getMessage());
}
}
1 curtida
Executei seu código:
Vc tem 5 (?,?,?,?,?), mas na verdade são apenas 4 (?,?,?,?)
O JOptionPane apareceu normal pra mim
Josenildo_Tiago:
private void adicionar()
Aqui faltou o {
private void adicionar(){
1 curtida
Abner_Rodrigues, fiz um video simples só pra mostrar o problema https://youtu.be/WN9FqotATZU Erro no JOptionPane
1 curtida
Entendi, cara, quando vc fizer o procedimento pra adicionar, dá um “Alt+Tab”, vê se o JOptionPane ta em algum lugar
1 curtida
Perfeito cara, que burrice a minha, coloquei a tela principal pra não iniciar mais centralizada e o bendito JOptionPane apareceu, valeu cara, muito obrigado.
1 curtida
Boa!!! Põe resolvido na questão pra facilitar a busca da galera!
1 curtida
Esqueci também que tinha marcado a opção AlwaysOnTop no campo propriedades da tela, por isso que o OPtionPane sempre aparecia por baixo.
1 curtida
Sim, eu ia mencionar isso, mas achei que você já tinha desmarcado também! Precisando é só chamar.
Mas faz o teste com o form centralizado de novo, acho que o problema mesmo era no Always
1 curtida
Valeu meu rei, você é o cara, sucesso.
1 curtida