java - 如何等到用户关闭框架才能运行其余代码?

标签 java frame wait

我这里有这段代码,它是一个调用另一个 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);
            }
        }
    }

关于java - 如何等到用户关闭框架才能运行其余代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830957/

相关文章:

objective-c - 磁性 NSWindows

python - 扫描阅读框架[3] Python

java : wait() method keeps waiting even after calling notifyAll()

java - Spring MVC 和错误 400 : SRVE0295E

javascript - 如何从另一个 iframe 内部刷新索引(父级)

java - 如何在不使用 static 的情况下更改另一个类的变量?

Java并发生成无限数量的对象

android - 在 Android 中显示 ProgressBar 一段时间

java - 使用 HttpURLConnection POST 数据

java - 使用java同时建立多个数据库连接和查询时是否应该使用同步?