我正在制作一个Java游戏,我需要一些关于如何操作的建议。如何在Java中关闭Jpanel程序
目前我使用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文件,我需要做些什么。
+0
你有什么意思是有另一个文件?你想打开一些帧想要在帧之间切换吗? –
+0
对不起,我应该更具体一点我的意思。我将编辑我的第一个问题以更好地解释,因为在评论中很难解释 –
+0
'this.remove(screen); this.add(otherPanel);'使用'CardLayout'如[本答案]中所示(http://stackoverflow.com/questions/5665156/calling-awt-frame-methods-from-subclass/5786005#5786005) ! –