SWING - 同一JPanel中的不同颜色

时间:2016-07-07 14:15:58

标签: java swing graphics jpanel

我是Swing的新手,我试图在其中显示一个带有一些数字的JPanel。我从类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); 
}

当然这样我无法区分圈子,还有另一种方法来区分它们之间的区别吗?

1 个答案:

答案 0 :(得分:4)

这是一个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();

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