如何让这些面板并排放置?

问题描述 投票:0回答:1
@Override
public void actionPerformed(ActionEvent e) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(600,600);
    frame.setVisible(true);
    frame.setLayout(new BorderLayout(25,0));

    int r;
    int g;
    int b;
    Random rand = new Random();

    r = rand.nextInt(255);
    g = rand.nextInt(255);
    b = rand.nextInt(255);
    Color c1 = new Color(r,g,b);
    Color c2 = new Color(r,g,b);
    Color c3 = new Color(r,g,b);

    JPanel panel = new JPanel();
    panel.setBackground(c1);
    panel.setPreferredSize(new Dimension(200,200));
    frame.add(panel, BorderLayout.EAST);

    JPanel panel1 = new JPanel();
    panel.setBackground(Color.BLACK);
    panel1.setPreferredSize(new Dimension(200,200));
    frame.add(panel1, BorderLayout.WEST);

    JPanel panel2 = new JPanel();
    panel.setBackground(Color.gray);
    panel2.setPreferredSize(new Dimension(200,200));
    frame.add(panel2, BorderLayout.CENTER);
}

}

执行此操作时,它仅在单独的窗口中显示其中一种颜色,而我希望并排显示所有三种颜色,并用三个面板填充整个窗口。

java swing jframe
1个回答
0
投票

您的三种颜色 c1、c2 和 c3 是相同的。但即使它们是不同的颜色,正如 @VGR 在评论中指出的那样 (为什么没有将其作为答案发布?评论部分是为了澄清问题,而不是答案) 您正在为JPanel 实例

panel
重复,而不是
panel1
panel2
。我已经多次犯过同样的剪切和粘贴错误。

© www.soinside.com 2019 - 2024. All rights reserved.