Quando abro um JInternalFrame os botões devem ser desabilitados, ao fechar a aba, os botões devem ficar ativados. O problema é que não estou conseguindo ativar os botões quando fecho a aba.
Quando ativo um botão os outros ficam desativados corretamente.
Realmente não faz muito sentido essa verificação. Isso foi uma das últimas tentativas que fiz e não obtive sucesso. Você tem alguma dica de como fazer para ele ativar os botões quando o JInternalFrame for fechado ? Grato.
Você precisa adicionar um listener para ser notificado quando a janela é fechada.
private void btnPacienteActionPerformed(java.awt.event.ActionEvent evt) {
final TelaPaciente telapaciente = new TelaPaciente();
telaPaciente.addInternalFrameListener(new InternalFrameAdapter() {
// este método será chamado pelo internal frame quando ele for fechado
public void internalFrameClosed(InternalFrameEvent e) {
jDesktopPane1.remove(telapaciente);
desbloquearBotoes();
}
});
bloquearBotoes();
jDesktopPane1.add(telapaciente);
telapaciente.setVisible(true);
}
Outra coisa, pra que ter um método bloquearBotoes() e um desbloquarBotoes() ?
O código deles é repetido, só muda o true e false.
Muito obrigado pela ajuda! Eu não conhecia o padrão observer. Por isso não sabia como fazer para saber se o JInternalFrame foi fechado e assim chamar o método de ativar os botões. E também obrigado pela dica do método bloquearBotoes().