JFrame没有出现在ubuntu中

时间:2017-10-27 14:17:41

标签: java swing ubuntu

当我在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);
    }
}

请帮忙。

1 个答案:

答案 0 :(得分:1)

f.setSize(500, 500);放在JFrame f = new JFrame("TestFrame");f.add(p);之间。在JFrame完全构建和初始化之前,您无法调用f.setVisible(true);。另外,我建议在JPanel / JFrame中使用LayoutManager,例如BorderLayout。

import java.awt.BorderLayout;

import javax.swing.*;

public class FrameTest
{
    public static void main(String args[])
    {
        JPanel p = new JPanel();
        BorderLayout bl = new BorderLayout(0, 0);
        p.setLayout(bl);

        JButton b = new JButton("Button 1");
        p.add(b, BorderLayout.CENTER);

        JFrame f = new JFrame("TestFrame");
        f.setSize(500,500);
        f.getContentPane().add(p);
        f.setVisible(true);
    }
}