我是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);
}
当然这样我无法区分圈子,还有另一种方法来区分它们之间的区别吗?
答案 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();
将重新绘制框架的每个组件