gpt4 book ai didi

Java Web Start JFrame 大小不受尊重

转载 作者:行者123 更新时间:2023-11-30 04:09:28 24 4
gpt4 key购买 nike

我正在 Java Web Start 应用程序中创建一个新的 JFrame。框架的内容经常发生变化并且不会调整大小,因此我覆盖了重新验证以显式设置框架大小。当我在 IDE (Idea) 中运行应用程序时,框架的大小是我根据首选大小和最小大小所期望的大小。当我将应用程序捆绑到 WebStart 应用程序中、部署它并通过 javaws 运行它时,窗口比我预期的要大得多。

我创建了下面的测试用例:

public static void main( String args[] ) {

JFrame sampleFrame = new JFrame() {
public void revalidate() {
super.revalidate();
pack();
_log.severe( "BEFORE: Preferred Size = " + getPreferredSize() + " - Minimum Size = " + getMinimumSize() + " - Size = " + getSize() );
setSize( getPreferredSize() );
_log.severe( "AFTER: Preferred Size = " + getPreferredSize() + " - Minimum Size = " + getMinimumSize() + " - Size = " + getSize() );
}
};

sampleFrame.getContentPane().setPreferredSize( new Dimension( 100, 100 ) );
sampleFrame.pack();
sampleFrame.setVisible( true );
sampleFrame.revalidate();
}

当我通过 WebStart 运行测试时,控制台显示:

严重:之前:首选大小 = java.awt.Dimension[width=110,height=130] - 最小大小 = java.awt.Dimension[width=10,height=30] - 大小 = java.awt.Dimension [宽度=110,高度=130]严重:之后:首选大小 = java.awt.Dimension[width=110,height=130] - 最小大小 = java.awt.Dimension[width=10,height=30] - 大小 = java.awt.Dimension[width= 110,高度=130]

尽管日志说 JFrame 大小为 110x130,但实际上约为 1300x930!有什么想法吗?

我正在运行 Debian 6.0.7(“squeeze”)和 Java(TM) Web Start 10.45.2.18-fcs(Java 版本 1.7.0_45-b18)

最佳答案

尝试使用 JFrame.setBounds() 而不是 setSize() ——这是我一直用来调整 JFrame 大小的方法,尽管我无法从 javadoc 中看出两者之间有什么区别。

关于Java Web Start JFrame 大小不受尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com