1

我正在制作一个 Java 游戏,我需要一些关于如何做某事的建议。

目前我正在使用 2 个不同的 .java 文件来制作游戏。我有一个扩展 JFrame 的主程序,我调用了另一个扩展 JPanel 的 .java 文件。

游戏目前可以运行,但我想为游戏制作另一种模式,我认为如果我为它制作另一个文件会更好。

这是主文件的所有代码。我删除了所有无用的不需要的东西:

import java.awt.*;
import javax.swing.*;

public class ProgramMain extends JFrame  implements KeyListener
{
    private Program mode1;
    private Program2 mode2;

    public ProgramMain ()
    {
        setResizable (false);
        mode1 = new Program ();
        getContentPane ().add (mode1, BorderLayout.CENTER);
        if (mode1.change == true)
        {
            this.remove (mode1);
            board = new Program2 ();
            this.getContentPane ().add (mode2);            
        }
    }

  public void actionPerformed (ActionEvent event)
  {
  }

    public static void main (String[] args)
    {
        GameMain frame = new GameMain ();
        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        frame.pack ();
        frame.setVisible (true);
    }
}

有没有一种方法可以让我重新启动 ProgramMain () 方法,以便它进行另一次检查,所以如果这次 if 语句变为真,它会更改屏幕并打开 Program2.java 文件。

这是我的主要问题。我不确定如何在 .java 程序之间切换。如果我希望我的主程序 (ProgramMain) 读取另一个程序/.java 文件,我需要做什么。

4

1 回答 1

0

对于切换,您可以在需要切换的框架中执行操作。

ActionListener al = new ActionListener(){
    public void actionPerformed(ActionEvent ae) {
        if (board1) {
            getContentPane().add(gameBoard, BorderLayout.CENTER);
        } else {
            getContentPane().add(gameBoard2, BorderLayout.CENTER);
        }
    }
};
buttonSwitch.addActionListener (al);
于 2013-01-13T05:13:53.863 回答