1

我正在将我的桌面 Swing 应用程序移植到一个小程序。考虑到任务栏,以下代码非常适合JFrame实体设置最大可用窗口大小。

GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
Rectangle bounds = env.getMaximumWindowBounds();
frame.setMaximizedBounds(bounds);
frame.setPreferredSize(bounds.getSize());
frame.setLocation(0, 0);

在 Eclipse Run Configurations -> My Applet -> Parameters 我可以选择宽度和高度,或者如果小程序是从浏览器运行的,则必须这样做:

<applet code="myJApplet" width="800" height="480">

但我希望能够根据屏幕分辨率动态设置大小。怎么可能?

4

3 回答 3

2

扩展这个先前的答案,您可能希望采用一种混合方法,它通过Java Web Start提供额外的部署选项。你的重点应该是开发一个Container在任何初始大小下都能很好地运行,同时避免常见的陷阱。用于java.util.Preferences保留受您控制的几何图形,并在不受控制时进行调整。细节取决于实际内容,但问题至少封装得很好。

于 2013-01-04T11:23:02.337 回答
1

使用 JavaScript,noscript 800x600。请注意,这会占用大量内存。虽然有点麻烦,但最好还是使用 Java Webstart 应用程序。

noscript 是一个标签<noscript>(static html content)</noscript>,您可以在其中放置条件 HTML - 当 JavaScript 被阻止时。使用 JS 你可以有一个完整的动态解决方案,在 noscript 中有一个固定大小的解决方案。

于 2013-01-04T14:47:50.197 回答
0

我在这里找到了它:http: //andylangton.co.uk/articles/javascript/get-viewport-size-javascript/

<script type="text/javascript">
<!--
var w=window,d=document,e=d.documentElement,g=d.getElementsByTagName('body')[0],x=w.innerWidth||e.clientWidth||g.clientWidth,y=w.innerHeight||e.clientHeight||g.clientHeight;
//-->
</script>
于 2013-01-22T08:58:11.287 回答