Gnt, estou programando uma janela para cadastro de pessoas. A janela principal está em JFrame e, ao clicar no botão “Criar Funcionário”, eu estanciei uma classe para abrir um JDialog e em seguida ative o jframe.setEnable(). Até aí tudo bem. Só que após criar o funcionário, usei o dispose() no JDialog mas não consegui reativar o JFrame inicial. Como eu faço para reativa-la?
Indo e vindo do JFrame para JDialog
F
4 Respostas
1 like
Se eu entendi direito, você quer que se o JDialog estiver aberto, não seja possível interagir com o JFrame… Nesse caso não seria melhor usar o JDialog como modal?
Aí não seria necessário lidar com enables etc
1 like
Tira esse setEnabled() e deixa o jDialog.setModal(true).
F
Deu certo, mas existe 2 problemas:
- Ao criar um novo funcionário e fechar a janela JDialog, a tela de JFrame não é atualiza. Como eu faço para ela iniciar um método depois de eu fechar o JDialog?
- continuo permitindo que o cliente acesse a tela JFrame mesmo com o JDialog aberta. Eu gostaria q ela estivesse bloqueada para ação caso a janela JDialog esteja aberta.
F
O meu método na JFrame que chama a JDialog é este:
public void cadastrarLocal () throws ClassNotFoundException, SQLException {
TelaCriarLocal tela = new TelaCriarLocal(null, true);
tela.setLocationRelativeTo(null);
tela.setVisible(true);
tela.setModal(true);
O método no JDialog que finaliza o cadastro é:
public void cadastrarLocal() throws ClassNotFoundException {
sql = "Insert into localidades(locais) values(?)";
try {
pst = con.prepareStatement(sql);
pst.setString(1, txtLocal.getText());
pst.execute();
dispose();
} catch (SQLException error) {
JOptionPane.showMessageDialog(null, "Erro ao tentar criar o local\n" + error.getMessage().toLowerCase());
}
}
Criado 23 de fevereiro de 2016
Ultima resposta 24 de fev. de 2016
Respostas 4
Participantes 3
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Back-end Java: Microsservicos, Spring Boot e Kubernetes Por Eduardo Felipe Zambom Santana — Casa do Codigo