[RESOLVIDO] Problemas no JOptionPane.showMessageDialog no netbeans

15 respostas Resolvido
programaçãojsfjavamysql
J

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);

}

15 Respostas

R

Não dá nenhum erro?

J

Não aparece nenhum erro, apenas trava a tela sem aparecer a caixa de dialogo.

R

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

J

Sim importei, nao sei o que esta acontecendo, talvez seja devido a eu estar usando no projeto 3 telas?

R

Vamos lá, vc quer fazer a validação de Login né?

J

Na verdade é bem aqui onde ele trava

<strong>private void adicionar()</strong>

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);
    }
}
V

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());

}

}
R

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(){

J

Abner_Rodrigues, fiz um video simples só pra mostrar o problema https://youtu.be/WN9FqotATZUErro no JOptionPane

R
Solucao aceita

Entendi, cara, quando vc fizer o procedimento pra adicionar, dá um “Alt+Tab”, vê se o JOptionPane ta em algum lugar

J

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.

R

Boa!!! Põe resolvido na questão pra facilitar a busca da galera!

J

Esqueci também que tinha marcado a opção AlwaysOnTop no campo propriedades da tela, por isso que o OPtionPane sempre aparecia por baixo.

R

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

J

Valeu meu rei, você é o cara, sucesso.

Criado 9 de junho de 2018
Ultima resposta 12 de jun. de 2018
Respostas 15
Participantes 3