【问题标题】:How to set maximum available size for JApplet?如何为 JApplet 设置最大可用大小?
【发布时间】:2013-01-04 06:21:54
【问题描述】:

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

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

在 Eclipse 运行配置 -> 我的小程序 -> 参数中,我可以选择宽度和高度,或者如果从浏览器运行小程序,则必须这样做:

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

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

【问题讨论】:

  • 如果设置 width="80%" 会怎样?
  • @StanislavL,至少在 Eclipse Applet Viewer 中我不能用 % 设置值
  • @NikolayKuznetsov:为什么要等? hybrid 让您的选择保持开放。
  • @trashgod,感谢您的链接。必须了解混合动力车。很遗憾你几天前没有注意到它here
  • @JoopEggen, "with noscript 800x600" 是什么意思,我不明白..

标签: java javascript swing applet japplet


【解决方案1】:

在之前的answer 的基础上扩展,您可能希望采用hybrid 方法,它通过Java Web Start 提供额外的部署选项。你的重点应该是开发一个Container,它在任何初始大小下都能很好地工作,同时避免common traps。使用java.util.Preferences 保留您可以控制的几何图形,并在无法控制时进行调整。细节以实际内容为准,但问题至少封装得很好。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 哦,我的意思是 javascript 代码会生成适当的大小,很抱歉造成混淆。
    • 我也是这个意思。但是JS可以被禁用,然后一个最小的功能会很好,因此提到了noscript。没关系。
    • 好吧,我的意思是,如果您使用 java 脚本代码发布 html-page 的完整解决方案,那么它绝对是最好的答案。
    【解决方案3】:

    我在这里找到了它: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>
    

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 2019-02-25
      • 2023-04-11
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多