我正在编写一个应用程序(生命游戏的实现)并希望它按如下方式工作:
- 弹出一个 JFrame(不是 JDialog!),用户可以在其中选择一些设置。
- 按此框架上的“开始”按钮将设置存储在某处,将其关闭,然后打开 Game of Life 框架。
实现这一目标的最佳方法是什么?
我目前的方法是从包含 main 方法的单独类控制应用程序,该方法应该存储设置并处理两个 JFrame 的显示/隐藏,但我遇到了一些问题:我想要“开始”的侦听器" - 设置框架中的按钮向主方法发出信号,表明该存储所选设置,隐藏此框架并显示 GoL 框架。但是,我不知道如何将此信息传达给主方法,因为我无法从“设置”框架内访问其类的范围。我确实可以从 main 方法访问“设置”框架,因此获取设置并关闭框架不是问题,问题是知道何时执行此操作。
//In the class "SettingsFrame"
startButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//WHAT TO DO HERE?
}
});
我有点初学者,所以我尝试的方法可能存在根本性错误。在不使用 JDialog 的情况下实现上述功能的最优雅的方法是什么?
(我环顾四周,发现这个答案在 JFrames 之间传递值。但是,附加的示例使用了一个 JDialog,我猜它会自动向调用方法发出信号,表明它的“确定”按钮已被按下。我很想知道如何自己实现这一点)。