【发布时间】:2017-10-27 14:17:40
【问题描述】:
当我在 ubuntu 中运行这段代码时,窗口被最小化了。当我点击它的图标时,它保持最小化。 但它在 Windows 中运行良好。
这是我的代码。
import javax.swing.*;
public class FrameTest
{
public static void main(String args[])
{
JPanel p = new JPanel();
JButton b = new JButton("Button 1");
p.add(b);
JFrame f = new JFrame("TestFrame");
f.add(p);
f.setVisible(true);
f.setSize(500,500);
}
}
请帮忙。
【问题讨论】:
-
f.pack() ?应该做的伎俩
-
您需要致电
f.pack()或。f.setSize(...)之前f.setVisible(true)。setVisible()应该是使您的 GUI 可见时的最后一行...这是我第一眼看到的内容,但由于我没有在此处安装 Ubuntu,因此无法测试 -
Swing/AWT GUI 应该在事件调度线程上启动。这可能不是问题,但无论如何都要使用最佳实践。此外,正如@mko 所提到的,我们应该使用
pack()来调整GUI,在添加所有组件之后,但在setVisible(true)之前。删除f.setSize(500,500);- 这只是猜测。 -
您的代码没有什么特别的问题(但我同意 Andrew,您应该在 EDT 上启动 UI),我无法复制您的问题