Java 如何等到用户关闭框架后才能运行其余的代码?

Java 如何等到用户关闭框架后才能运行其余的代码?,java,frame,wait,Java,Frame,Wait,我这里有这个代码,它是一个按钮,调用另一个jFrame来编辑东西,这些东西进入一个jTable,需要用户输入来更新。我想通过输入相同的按钮来自动进行更新,但是当我调用更新jTable的函数时,没有任何结果,可能是因为java机器不等待 private void editarImovelActionPerformed(java.awt.event.ActionEvent evt) // Button {

我这里有这个代码,它是一个按钮,调用另一个jFrame来编辑东西,这些东西进入一个jTable,需要用户输入来更新。我想通过输入相同的按钮来自动进行更新,但是当我调用更新jTable的函数时,没有任何结果,可能是因为java机器不等待

private void editarImovelActionPerformed(java.awt.event.ActionEvent evt) // Button {                                             
    int i = 0;
    int linha = tabelaImoveis.getSelectedRow(); // tabelaImoveis = jTable
    if (tabelaImoveis.isRowSelected(linha)) {
        {
            try { 
                Integer codigo = Integer.parseInt(tabelaImoveis.getValueAt(linha, 0).toString());
            } catch (Exception e) { 
                mensagem.message("Linha sem Valor!"); 
                i = 1;
            } finally {
                if (i == 0) { 
                    Integer codigo = Integer.parseInt(tabelaImoveis.getValueAt(linha, 0).toString());
                    for (Imovel imovel : imovelLista) { 

                        if (imovel.getCodigo() == codigo) {                               frmAlterar alterar = new frmAlterar();
                            alterar.setLocationRelativeTo(null); 
                            alterar.setVisible(true);
                            alterar.setDefaultCloseOperation(alterar.DISPOSE_ON_CLOSE);
                            alterar.setarAtributos(imovel);

                        }
                    }
                }
            }
        }
    } else {
        mensagem.message("Select Something!"); // Same as System.out...
    }


    updatejTable(); // This code here I want to execute after the frame "alterar" closes
}

这个问题的答案与所有类似问题的答案相同(有很多):不要使用另一个JFrame,使用模态JDialog

    if (i == 0) { 
        Integer codigo = Integer.parseInt(tabelaImoveis.getValueAt(linha, 0).toString());
        for (Imovel imovel : imovelLista) { 
            if (imovel.getCodigo() == codigo) {                               
                frmAlterar alterar = new frmAlterar();  // *** this should be a modal JDialog
                alterar.setLocationRelativeTo(null); 
                // alterar.setVisible(true);
                // alterar.setDefaultCloseOperation(alterar.DISPOSE_ON_CLOSE);
                alterar.setarAtributos(imovel);
                alterar.setVisible(true);
            }
        }
    }
有关更多信息,请跳到