Graphics2D drawString() 不同的颜色
Graphics2D drawString() different colour
我有这个 Graphics2D g
对象。目前它呈现一个蓝色矩形。我想要的是能够在这个矩形中放置一个标签,但是由于 g.setPaint(Color.BLUE)
设置了整个颜色,任何使用 g.drawString(..)
呈现的文本也是蓝色的,并且在正方形中看不到。所以现在 "foo" 坐在矩形的旁边,我怎样才能把它变成不同的颜色 o 我可以把它放在矩形里?
(所有的矩形都需要有标签)
我考虑过制作 Graphics2D 对象的副本,并以相同的方式渲染它,但仅使用文本。唯一的问题是我不确定如何克隆 Graphics2D 对象。有什么见解吗?
but seeing as the g.setPaint(Color.BLUE) sets the entire colour,
不要使用setPaint(...)
您可以使用 setColor(...)
:
g.setColor( Color.BLUE );
g.fillRect(...);
g.setColor( Color.WHITE );
g.drawString(...);
只需在需要设置颜色时设置颜色即可。
g2d.setColor(BAR_COLOR);
g2d.fill(bar);
g2d.setColor(TEXT_COLOR);
g2d.drawString(....);
这很可能在我想象的 for 循环中。
只需设置颜色,使用.setColor(Color c)
方法。
g.setColor(Color.WHITE);
我有这个 Graphics2D g
对象。目前它呈现一个蓝色矩形。我想要的是能够在这个矩形中放置一个标签,但是由于 g.setPaint(Color.BLUE)
设置了整个颜色,任何使用 g.drawString(..)
呈现的文本也是蓝色的,并且在正方形中看不到。所以现在 "foo" 坐在矩形的旁边,我怎样才能把它变成不同的颜色 o 我可以把它放在矩形里?
(所有的矩形都需要有标签)
我考虑过制作 Graphics2D 对象的副本,并以相同的方式渲染它,但仅使用文本。唯一的问题是我不确定如何克隆 Graphics2D 对象。有什么见解吗?
but seeing as the g.setPaint(Color.BLUE) sets the entire colour,
不要使用setPaint(...)
您可以使用 setColor(...)
:
g.setColor( Color.BLUE );
g.fillRect(...);
g.setColor( Color.WHITE );
g.drawString(...);
只需在需要设置颜色时设置颜色即可。
g2d.setColor(BAR_COLOR);
g2d.fill(bar);
g2d.setColor(TEXT_COLOR);
g2d.drawString(....);
这很可能在我想象的 for 循环中。
只需设置颜色,使用.setColor(Color c)
方法。
g.setColor(Color.WHITE);