【问题标题】: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);
        

        【讨论】:

          猜你喜欢
          • 2017-10-03
          • 1970-01-01
          • 2013-03-29
          • 2011-05-04
          • 2020-01-11
          • 2012-11-27
          • 2015-02-02
          • 2015-04-22
          • 2017-11-30
          相关资源
          最近更新 更多