0

我正在编写一个应用程序(生命游戏的实现)并希望它按如下方式工作:

  1. 弹出一个 JFrame(不是 JDialog!),用户可以在其中选择一些设置。
  2. 按此框架上的“开始”按钮将设置存储在某处,将其关闭,然后打开 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,我猜它会自动向调用方法发出信号,表明它的“确定”按钮已被按下。我很想知道如何自己实现这一点)。

4

1 回答 1

2

您需要从 main 方法注册一个回调到设置框架。当按下开始按钮时,动作监听器应该关闭窗口,并调用回调,传递在设置框架中输入的设置。然后回调方法将打开生命框架游戏。

于 2012-11-04T12:22:18.380 回答