现在,我有一个全屏幕应用程序,它根据配置文件生成几个全屏幕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中正常运行。问题在于我有几个框架,当我点击一个按钮(它基本上是一个菜单)时,我需要能够在它们之间切换。
所以我开始认为JFrame不是最好用的对象。如果是这样的话,管理多个帧会更容易吗,比如optionPanes?或类似的东西?无论解决方案是什么,我都需要DO_NOTHING_ON_CLOSE
和setUndecorated
(或类似的东西)。
注意:如果您没有找到我需要更改JFrame的原因并且知道如何轻松切换焦点/视图,请告诉我们。这也是我问题的答案。
答案 0 :(得分:1)
答案 1 :(得分:1)
我决定使用cardLayout
并稍微改变我的代码。