JFrame没有在Eclipse Neon中添加JPanel

时间:2017-04-28 00:15:55

标签: java swing jframe jpanel null-layout-manager

public class DrawablePanel extends JPanel {

    public static void main(String[] args) {
        JFrame frame = new JFrame();

        frame.setSize(500,500);
        frame.setLayout(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new DrawablePanel());
        frame.setVisible(true);
    }

    public DrawablePanel(){
        setBackground(Color.black);
     }

    public Color pickColor(){
        Random rand = new Random();
        int a = rand.nextInt(255)+0;
        int b = rand.nextInt(255)+0;
        int c = rand.nextInt(255)+0;
        Color color = new Color(a,b,c);
        return color;
    }
}

我不知道为什么JPanel没有显示在JFrame上。 I have attached an image of what it looks like when I run the code.

1 个答案:

答案 0 :(得分:3)

frame.setLayout(null);

此行删除布局管理器。要解决当前问题,只需删除此行,您将获得预期的黑色背景。然后,您需要了解如何使用布局管理器。 Swing API提供了许多选项。您选择哪一个取决于您希望程序具有的外观。我建议您查看A Visual Guide to Layout Managers以了解最常见的布局管理器。