我们有一个用于在浏览器中运行我们的app的applet,但我们还提供了一个JNLP web-start选项。当web-start窗口启动时,它不可调整大小或最大化,我们希望能够实现这一目标。
我最初认为它是JNLP文件中的一个简单设置,但现在我不确定。我该怎么接近这个?
答案 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);
}
}