现在,我有一个全屏幕应用程序,它根据配置文件生成几个全屏幕JFrame(所以我永远无法准确预测我将拥有多少帧) . 这些JFrame处于全屏模式,如下所示:
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setUndecorated(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0,0,screenSize.width, screenSize.height);
问题是,这些JFrame在Linux环境中行为不端 . 我在 requestFocus
, requestFocusInWindow
, toFront
, setVisible
等方面苦苦挣扎 . 但似乎没有什么能让它在Linux中正常运行 . 问题在于我有几个框架,当我点击一个按钮(它基本上是一个菜单)时,我需要能够在它们之间切换 .
所以我最好使用的对象是'm starting to think a JFrame isn' . 如果它们是,那么管理多个帧会更容易吗,比如optionPanes?或类似的东西?无论解决方案是什么,我都需要能够 DO_NOTHING_ON_CLOSE
和 setUndecorated
(或类似的东西) .
Note: 如果您没有看到我需要更改JFrame的原因并且知道如何轻松切换焦点/视图,请告诉我 . 这也是我问题的答案 .
2 回答
我没有看到你将屏幕设置为全屏的电话?
http://download.oracle.com/javase/tutorial/extra/fullscreen/exclusivemode.html
我决定使用
cardLayout
并稍微更改我的代码 .