2013-08-12 50 views
0

实际上,当我打电话给JFrame时,实际上遇到了问题。前面的Java JFrame

我有一个类从JDialog入侵。它弹出时,我启动了我的 非常酷的Java游戏。如果我现在想要加载一个游戏,我按 加载按钮,另一个JDialog打开,选择要加载的游戏。 所以我现在必须打开JDialogs =>启动对话框和加载对话框。 好吧,当我选择了一款游戏并加载它时,加载的jdialog为装载的游戏配置了JFrame ,之后启动jdialog再次来到 。

我不想让启动对话框来到前面!

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

this.toFront() 

无任何影响。

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

+0

你的启动'JDialog'是模态吗?如果是,它将永远在前面。我认为使用另一个'JFrame'而不是'JDialog'可以解决你的麻烦。 – NiziL

+0

不是模态!在jframe出现之后,jdialog刚刚跳出jframe。 – user2663778

回答

1

JDialog对象都应该留在上面,并且将优先于任何其它帧,但是如果要禁用,你可以使用以下功能:

jDialog.setAlwaysOnTop(false); 

然后,您可以调用下面的函数JFrame

this.toFront(); 
0

那么,如果你试图打开负载按钮的点击事件的JFrame,你应该尝试下面的代码放在它的事件处理程序

JFrame o = new JFrame(); 
    o.setVisible(true); 
    dispose(); 
+0

我不想让调用组件处置! 它必须保持开放,但落后于新的JFrame! – user2663778

+0

然后您可以切换其可见性。 – Malwaregeek

0

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

如果使用

JOptionPane.showMessageDialog(); 

你不能用你的JFrame了互动,首先你要关闭对话框。

制作一个JPanel和一个JFrame,并把它放在JPanel的对话框中,如果你点击startbutton,打开新的Frame。

+0

不!我不使用JOptionPane我写我自己的JDialogs,他们不是模态! JFrame没有被阻止! JDialog只是弹出JFrame,用户手动切换回帧非常不方便 – user2663778