我有这个Graphics2D g
对象。目前它呈现一个蓝色矩形。我想要的是能够在这个矩形中放置一个标签,但看到g.setPaint(Color.BLUE)
设置整个颜色,任何用g.drawString(..)
渲染的文本也是蓝色的,在广场上看不到。所以现在" foo"坐在矩形旁边,我怎样才能使它成为一种不同的颜色o我可以把它放在矩形中?
(所有矩形都需要有标签)
我考虑过制作Graphics2D对象的副本,并以相同的方式呈现它,但仅使用文本。唯一的问题是我不确定如何克隆Graphics2D对象。任何见解?
答案 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);