gpt4 book ai didi

Java Swing - .dispose() 方法不关闭 JFrame

转载 作者:行者123 更新时间:2023-12-03 22:28:47 24 4
gpt4 key购买 nike

我正在编写一个基于两个 JFrame 的简单游戏。用户一次只显示在 JFrame 上。要到达另一个 JFrame,用户单击一个按钮。新 JFrame 中的按钮将有一个覆盖方法,该方法应将用户导航回旧 JFrame。

我发现这样做很成功,但是当用户尝试导航回旧框架时,.dispose() 方法似乎没有关闭新框架。

这是我的代码片段(原始 JFrame 类):

public class TicTacToe extends JFrame implements ActionListener{

....

public class gameModeListener implements ActionListener
{
@Override public void actionPerformed(ActionEvent e)
{
TicTacToeSingle singlePlayer = new TicTacToeSingle();
singlePlayer.setVisible(true);
dispose();
}
}
}

来自其他 JFrame 类:

public class TicTacToeSingle extends TicTacToe{

private int i;
private int j;
JButton boardArray[][];
Random random_generator = new Random();
int randomI;
int randomJ;

public TicTacToeSingle()
{
super("Single Player");
gameMode.setText("Two Player"); //gameMode is the button that has it's actionlistener method overriden. It navigates the user to and back from JFrame to JFrame

gameMode.addActionListener(new gameModeListener());

....
}

....

public class gameModeListener implements ActionListener
{
@Override public void actionPerformed(ActionEvent e)
{
TicTacToe twoPlayer = new TicTacToe("Two Player");
twoPlayer.setVisible(true);
dispose();
}
}

非常感谢您的帮助:)

最佳答案

?所以为了提供引用你需要使用这个试试这个:

 TicTacToe twoPlayer = new TicTacToe("Two Player");
twoPlayer.setVisible(true);
twoPlayer.dispose();

如果还有问题请告诉我。

关于Java Swing - .dispose() 方法不关闭 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22469574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com