gpt4 book ai didi

Java 项目 - 如何卡住 Frame

转载 作者:行者123 更新时间:2023-12-02 00:46:34 24 4
gpt4 key购买 nike

美好的一天!

我正在用 Java 做一个游戏。我的菜单按钮包括“新游戏”、“高分”、“关于”和“退出”。但在用户进入主游戏之前,他需要先输入自己的名字。我使用此代码如下:

  private void btnNewGameMouseClicked(java.awt.event.MouseEvent evt) {
Player p1 = new Player();
this.setVisible(false); // I must replace this code
p1.setVisible(true);
}

我的问题是,我不想隐藏主菜单。我希望它卡住,并且在询问玩家名称时无法访问。

我的主菜单框架比播放器框架大..当然,我可以删除代码 this.setVisible(false) 但问题是我仍然可以在单击时访问主菜单...我希望主菜单卡住,并且在弹出播放器框架时无法访问。(见下图)请帮助我。谢谢。

Sample Image

最佳答案

您想要做的是让您的播放器构建一个模态对话框。您可能希望将其设为 JDialog 的子类而不是 JFrame 或您正在使用的任何内容,并使用其 setModal 方法或使用 JDialog 的构造函数之一将其设置为模态。例如:

public Player(JFrame owner) {
super(owner, true); // makes the dialog modal
// ...
}

然后您可以从主框架创建对话框,例如:

Player p1 = new Player(this);

当调用p1.setVisible(true)时,主框架将被遮挡且不可点击。

关于Java 项目 - 如何卡住 Frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4835092/

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