如何制作全屏java小程序?

我正在设计一个使用java applets的心理学实验。 我必须使我的Java小程序全屏。 这样做的最佳方式是什么,我该怎么做。

由于我没有使用java applets 3年(我最后一次使用它是一个课程作业:))我已经忘记了大多数概念。 我用Google搜索,发现链接: Dani网站

但是在上面链接中描述的方法中,你必须在applet中放置一个JFrame,我不知道该怎么做。

无论我需要一个快速而肮脏的方法,因为我没有太多时间,这就是我在这里问的原因。

提前完成

我想你想使用WebStart。 您可以从浏览器进行部署,但它是一个完整的应用程序。 有一些浏览器安全限制,但是,当你正在使用Applet时,我想我可以认为它们不是问题。

显而易见的答案是不要使用applet。 编写一个使用JFrame或JWindow作为其顶级容器的应用程序。 将applet转换为应用程序并不是一项繁重的工作。 Applet旨在嵌入其他东西,通常是网页。

如果您已经有一个小程序并希望全屏显示,那么有两个快速而又脏的黑客:

1)。 如果您知道屏幕分辨率,只需在HTML中将applet参数设置为该大小,然后以全屏模式运行浏览器。

2)。 在appletviewer中运行applet,而不是网页,并最大化appletviewer窗口。

为什么不从applet打开一个新的框架(从“start()”方法开始,或者最好在用户按下“打开”按钮后)并将其设置为最大化?

JFrame frame = new JFrame(); //more initialization code here Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); frame.setSize(dim.width, dim.height); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); 

不要忘记:应该从EDT创建和打开JFrame。 不保证在该线程上调用Applet start(),因此请使用SwingUtilities.invokeLater()。 当然,如果您选择按钮路径,则在EDT上调用按钮侦听器,因此您应该是安全的。

我找到了解决这个问题的解决方案 。 在Linux 64位(Chrome和Firefox)和Windows 7 64位(Chrome和Explorer)中测试

唯一的问题是我的applet使用浏览器中的所有空间,当用户关闭全屏模式时,applet不会缩放到浏览器大小。 解决方案是在进入全屏模式之前保持小程序的先前大小,然后在小程序返回正常模式时设置此大小:

 public void setFullScreen() { if (!this.fullscreen) { size = this.getSize(); if (this.parent == null) { this.parent = getParent(); } this.frame = new Frame(); this.frame.setUndecorated(true); this.frame.add(this); this.frame.setVisible(true); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] devices = ge.getScreenDevices(); devices[0].setFullScreenWindow(this.frame); this.fullscreen = true; } else { if (this.parent != null) { this.parent.add(this); } if (this.frame != null) { this.frame.dispose(); } this.fullscreen = false; this.setSize(size); this.revalidate(); } this.requestFocus(); }