SWING - 同一个 JPanel 中的不同颜色

SWING - Different colors in same JPanel

我是 Swing 的新手,我正在尝试显示一个 JPanel,其中包含一些图形。我通过覆盖 class Graphics 中的 PaintComponent 方法来绘制它们,但我希望它们中的每一个都有不同的颜色。我的问题是我只能设置JPanel的颜色,里面所有图形的颜色都是一样的。

有人知道我该怎么做吗?如果可能,无需为每张图片创建一个 JPanel。谢谢!

编辑:这是我的一段代码:

public void paintComponent(Graphics g){ 
    super.paintComponent(g); 
    g.setColor(Color.RED); 
    g.fillOval(524, 45, 34, 34); 
    g.fillOval(615, 45, 34, 34); 
    g.fillOval(396, 233, 34, 34);  
    g.fillOval(746, 233, 34, 34); 
}

当然这样我无法区分圆圈,还有另一种方法来绘制它们之间的差异吗?

这是一个简单的 paintComponent 方法示例

@Override
protected void paintComponent(Graphics g) {
    g.setColor(new Color(5,5,5));
    g.fillRect(0,0,100,100);
    g.setColor(Color.Green);
    g.drawRoundRect(30,30,20,20,5,5);
    g.setColor(new Color(200,200,200));
    g.setFont(new Font("Eras Bold ITC", Font.BOLD, 150));
    g.drawString("hi",25,25);
}

提示:

revalidate();
repaint();

将重新绘制框架的每个组件