我正在开发一个将在心理学实验中使用的java swing应用程序,研究人员要求我将程序设置为“屏蔽屏幕”,这样用户就不会受到外界的刺激。他们希望swing应用程序是真正的全屏,并且在顶部没有任何类型的标题栏或最小化/最大化/关闭按钮。
该软件将在使用JavaSE 6的Windows XP环境中运行。
我如何做到这一点,请提供代码片段,如果适用的话。
谢谢!
发布于 2009-04-06 19:37:49
使用全屏Java API?
http://java.sun.com/docs/books/tutorial/extra/fullscreen/exclusivemode.html
http://www.artificis.hu/2006/03/16/java-awtswing-fullscreen
JFrame fr = new JFrame();
fr.setResizable(false);
if (!fr.isDisplayable()) {
// Can only do this when the frame is not visible
fr.setUndecorated(true);
}
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
try {
if (gd.isFullScreenSupported()) {
gd.setFullScreenWindow(fr);
} else {
// Can't run fullscreen, need to bodge around it (setSize to screen size, etc)
}
fr.setVisible(true);
// Your business logic here
} finally {
gd.setFullScreenWindow(null);
}发布于 2009-04-06 19:37:10
使用setUndecorated(true)属性。请注意,这必须在使框架可见之前完成。
JFrame frame = new JFrame();
Toolkit tk = Toolkit.getDefaultToolkit();
frame.setBounds(new Rectangle(new Point(0, 0), tk.getScreenSize()));
frame.setUndecorated(true);
frame.setVisible(true);发布于 2012-12-28 03:47:35
我知道这个帖子很老,但我是在搜索如何自己做同样的事情时发现的。我找不到任何我想使用的解决方案,所以我想出了这个。我发现下面的解决方案不仅有效,而且比上面的答案简单得多。
JFrame frame = new JFrame();
frame.setResizable(false);
frame.setUndecorated(true);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(dim);
frame.setVisible(true);https://stackoverflow.com/questions/722827
复制相似问题