【问题标题】:Graphics2D drawString() different colourGraphics2D drawString() 不同颜色
【发布时间】:2015-11-18 04:43:13
【问题描述】:
我有这个Graphics2D g 对象。目前它呈现一个蓝色矩形。我想要的是能够在这个矩形中放置一个标签,但是看到g.setPaint(Color.BLUE) 设置了整个颜色,任何用g.drawString(..) 渲染的文本也是蓝色的,并且在正方形中看不到。所以现在“foo”位于矩形旁边,我怎样才能让它变成不同的颜色,以便我可以把它放在矩形中?
(所有矩形都需要有标签)
我已经考虑制作一个 Graphics2D 对象的副本,并让它以相同的方式呈现,但仅使用文本。唯一的问题是我不确定如何克隆 Graphics2D 对象。有什么见解吗?
【问题讨论】:
标签:
java
swing
graphics2d
【解决方案1】:
但看到 g.setPaint(Color.BLUE) 设置整个颜色,
不要使用setPaint(...)
你可以使用setColor(...):
g.setColor( Color.BLUE );
g.fillRect(...);
g.setColor( Color.WHITE );
g.drawString(...);
【解决方案2】:
当你需要设置颜色时,只需设置你需要的颜色。
g2d.setColor(BAR_COLOR);
g2d.fill(bar);
g2d.setColor(TEXT_COLOR);
g2d.drawString(....);
这很可能在我想象的一个 for 循环中。
【解决方案3】:
只需使用.setColor(Color c) 方法设置颜色。
g.setColor(Color.WHITE);