[RESOLVIDO] Problemas no JOptionPane.showMessageDialog no netbeans

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 dá nenhum erro?

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

Aqui faltou o {

private void adicionar(){

1 curtida

Abner_Rodrigues, fiz um video simples só pra mostrar o problema https://youtu.be/WN9FqotATZUErro 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