0

当我调用它时,我实际上无法将我的 JFrame 放在前面。

我有一个继承自 JDialog 的类。当我启动我非常酷的 java 游戏时它会弹出。例如,如果我现在想加载一个游戏,我按下加载按钮,另一个 JDialog 打开以选择要加载的游戏。所以我现在必须打开 JDialogs => 启动对话框和加载对话框。好的,当我选择一个游戏并加载它时,加载 jdialog 会为加载的游戏配置 JFrame,然后启动 jdialog 再次出现在前面。

我不希望启动对话框出现在最前面!

我已经为游戏添加了以下代码行到我的 JFrame 中:

this.toFront()

没有任何影响。

我怎样才能让我的 JFrame 到前面?

4

3 回答 3

1

JDialog对象应该保持在顶部并且优先于任何其他帧,但是如果要禁用它,可以使用以下函数:

jDialog.setAlwaysOnTop(false);

然后,您可以在 上调用以下函数JFrame

this.toFront();
于 2013-08-12T08:52:41.720 回答
0

好吧,如果您尝试在加载按钮的单击事件上打开 JFrame,您应该在其事件处理程序上尝试以下代码

JFrame o = new JFrame();
  o.setVisible(true);
  dispose();
于 2013-08-12T08:40:14.497 回答
0

我认为您的意思是您不能再与您的 JFrame 交互,因为 Dialog 阻止了它。我现在不知道你的启动对话框做了什么,但你可以把它放到一个 JPanel 或一个新的 JFrame 中!

如果你使用

JOptionPane.showMessageDialog();

您不能再与您的 JFrame 交互,首先您必须关闭对话框。

制作一个 JPanel 和一个 JFrame 并将其放在 JPanel 的对话框中,如果单击开始按钮,则打开新的 Frame。

于 2013-08-12T08:45:48.780 回答