Graphics2D drawString()颜色不同

时间:2015-11-17 20:39:55

标签: java swing graphics2d

我有这个Graphics2D g对象。目前它呈现一个蓝色矩形。我想要的是能够在这个矩形中放置一个标签,但看到g.setPaint(Color.BLUE)设置整个颜色,任何用g.drawString(..)渲染的文本也是蓝色的,在广场上看不到。所以现在" foo"坐在矩形旁边,我怎样才能使它成为一种不同的颜色o我可以把它放在矩形中?

(所有矩形都需要有标签)

enter image description here

我考虑过制作Graphics2D对象的副本,并以相同的方式呈现它,但仅使用文本。唯一的问题是我不确定如何克隆Graphics2D对象。任何见解?

3 个答案:

答案 0 :(得分:8)

  

但看到g.setPaint(Color.BLUE)设置整个颜色,

请勿使用setPaint(...)

您可以使用setColor(...)

g.setColor( Color.BLUE );
g.fillRect(...);
g.setColor( Color.WHITE );
g.drawString(...);

答案 1 :(得分:4)

只需在需要设置颜色时设置颜色即可。

g2d.setColor(BAR_COLOR);
g2d.fill(bar);
g2d.setColor(TEXT_COLOR);
g2d.drawString(....);

这可能在我想象的for循环中。

答案 2 :(得分:4)

只需使用.setColor(Color c)方法设置颜色。

g.setColor(Color.WHITE);