我将桌面Swing应用程序移植到applet。考虑到任务栏,以下代码非常适合JFrame
实体设置最大可用窗口大小。
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
Rectangle bounds = env.getMaximumWindowBounds();
frame.setMaximizedBounds(bounds);
frame.setPreferredSize(bounds.getSize());
frame.setLocation(0, 0);
在Eclipse运行配置中 - >我的小程序 - >参数我可以选择Width和Height,或者如果applet是从浏览器运行的,则必须这样做:
<applet code="myJApplet" width="800" height="480">
但我希望能够根据屏幕分辨率动态设置大小。怎么可能?
答案 0 :(得分:2)
扩展之前的answer,您可能希望采用hybrid方法,该方法通过Java Web Start提供其他部署选项。您的重点应该是开发一个Container
,它可以在任何初始尺寸下正常运行,同时避免common traps。使用java.util.Preferences
保留您控制下的几何图形,并在不受控制的情况下进行调整。细节取决于实际内容,但问题至少是封装好的。
答案 1 :(得分:1)
使用JavaScript,使用noscript 800x600。注意,这需要很多内存。虽然有点麻烦,但最好选择Java Webstart应用程序。
noscript是一个标记<noscript>(static html content)</noscript>
,您可以在其中放置条件HTML - 当JavaScript被阻止时。使用JS,您可以拥有一个完整的动态解决方案,在noscript中有一个固定大小的解决方案。
答案 2 :(得分: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>