首页 > 解决方案 > 如何让 JFrame “等待”?

问题描述

我有一个关于正确使用 JFrame 和 JDialog 的问题,我创建了一个扩展 JDialog 的类,所以每次当我按下位于我的 JFrame 上的按钮时,按钮的 ActionListener 都在工作,我在里面创建一个 JDialog 类的新实例,应该会出现 JDialog 窗口。

(我的 JDialog 是一个窗口,用于填写某种动物的详细信息)

据我了解,当我创建扩展 JDialog 类的新实例时,我也在创建一个新线程,并且程序开始并行运行(JDialog 窗口正在工作,同时 JFrame 代码保持也在运行。

实际上,我不太确定如何处理这种情况,第一个想法是让 JFrame “等待”直到用户完成填充动物的详细信息,使用类似“join()”之类的方法类似,但似乎我不能对 JFrame 这样做。

// we're in a class that extends from JFrame
private void AddAnimal() throws IOException, InterruptedException {

    // we're creating a new instance of a class that extends JDialog.

    newAnimal = new CreateInstanceAnimal(this, selectedType);

    // i'm trying to make the JFrame to wait till newAnimal will be finished, and then continue to run to the next lines below.

    AddCompetitor(newAnimal.getAnimal());
    DisplayAnimal(newAnimal.path,true);
}

这是我正在尝试完成的图片: 扩展JDialog窗口的类负责创建带有狗的窗口的附加信息。

我正在尝试制作 JFrame 类(用背景表示窗口),等待用户完成填充动物细节。

我很感激任何帮助:)

标签: java

解决方案


推荐阅读