@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);
}
}
执行此操作时,它仅在单独的窗口中显示其中一种颜色,而我希望并排显示所有三种颜色,并用三个面板填充整个窗口。
您的三种颜色 c1、c2 和 c3 是相同的。但即使它们是不同的颜色,正如 @VGR 在评论中指出的那样 (为什么没有将其作为答案发布?评论部分是为了澄清问题,而不是答案) 您正在为JPanel 实例
panel
重复,而不是 panel1
或 panel2
。我已经多次犯过同样的剪切和粘贴错误。