Olá pessoal, tudo bem ?
Estou fazendo um Crud em Java SE onde tenho uma tabela que seleciono um registro e altero.
Esta tudo funcionando normal, mas gostaria de quando eu clicar no registro e abrir a tela de registro, que tivesse um jeito de parar o processamento do codigo e só depois que eu fechar a tela de edição continuasse o processamento do ponto que eu abri a tela para poder atualizar a data jtable.
Sabem se é possivel ?
usa JDialog. A tela q abre uma JDialog pode aguardar seu fechamento.
É isto que eu quero fazer mas não sei como, veja abaixo eu coloquei o codigo do botão onde abro a tela de edição do registro:
" frmEditarCedente objEdCedente = new frmEditarCedente(null, rootPaneCheckingEnabled, cedente_codigo); "
Como eu faria para executar o codigo que estiver abaixo do objEdCedente.setVisible(true); somente após eu fechar a tela ???
Meu codigo :
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
int cedente_codigo = 0;
if(jt_cedente.getSelectedRow() > (-1) ){
cedente_codigo = (int) this.jt_cedente.getModel().getValueAt(jt_cedente.getSelectedRow() ,0) ;
frmEditarCedente objEdCedente = new frmEditarCedente(null, rootPaneCheckingEnabled, cedente_codigo);
objEdCedente.setLocationRelativeTo(this);
objEdCedente.setVisible(true);
}else{
JOptionPane.showMessageDialog(this, "Selecione um cedente para alterar");
}
}
Obrigado pela atenção.
Implementa um WindowListener e trata o evento windowClosed, executando a operação adequada
Agora se é pra bloquear o código sem ser através de um JDialog modal, você terá que fazer algo do tipo:
frmEditarCedente objEdCedente = new frmEditarCedente(null, rootPaneCheckingEnabled, cedente_codigo);
objEdCedente.setLocationRelativeTo(this);
final Object lock = new Object();
objEdCedente.addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent we) {
synchronized (lock) {
lock.notify(); // desbloqueia
}
}
});
objEdCedente.setVisible(true);
synchronized (lock) {
lock.wait(); // bloqueia até ser chamado o notify
}
Staroski, testei aqui e funcionou para o que eu preciso.
muito obrigado!
1 curtida