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();
将重新绘制框架的每个组件
我是 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();
将重新绘制框架的每个组件