使JNLP Web-Start小程序可调整大小

时间:2012-02-03 11:37:17

标签: java applet jnlp java-web-start

我们有一个用于在浏览器中运行我们的app的applet,但我们还提供了一个JNLP web-start选项。当web-start窗口启动时,它不可调整大小或最大化,我们希望能够实现这一目标。

我最初认为它是JNLP文件中的一个简单设置,但现在我不确定。我该怎么接近这个?

3 个答案:

答案 0 :(得分:2)

JNLP中没有设置适合可调整大小的applet查看器(这是JWS用来显示浮动applet的内容)。

OTOH有点hackery可能会让你到那里。我记得很久很久以前这样做了。我认为从记忆中它基本上涉及getParent()直到null,之前的最后一个组件是JFrame。获得对框架的引用后,您可以致电setResizable(true)

事实上,(考虑)您也可能会考虑JComponent.getTopLevelAncestor()来获取对根框架的引用。 AFIU当我尝试实验时,该方法不存在。 (是的,很久以前 。)

当然,总体上更好的策略是创建混合应用程序/ applet。将applet嵌入浏览器,然后由JWS启动框架。这提供了对GUI的完全控制。

答案 1 :(得分:0)

这是我在init方法末尾添加的一些代码,它使我的applet可以调整大小。我的班级延长了JApplet

Window window = SwingUtilities.windowForComponent(this);
if (window instanceof JFrame) {
    JFrame frame = (JFrame) window;
    if (!frame.isResizable()) {
        frame.setResizable(true);
    }
}

希望这有帮助。

答案 2 :(得分:0)

以下代码对我有用:

Window window = SwingUtilities.windowForComponent(this);
if (window instanceof JFrame) {
    JFrame frame = (JFrame) window;
    if (!frame.isResizable()) {
        frame.setResizable(true);
    }
}