【问题标题】:Color java class颜色java类
【发布时间】:2011-09-29 14:07:45
【问题描述】:

如果我得到文本的颜色,我得到: java.awt.Color[r=234,g=152,b=28] 应该对应于橙色 但是当我执行断言时:这不起作用

assertEquals(Color.ORANGE.ToString(),myText.getColor());

预期为:java.awt.Color[r=255,g=0,b=0] 但为:java.awt.Color[r=234,g=152,b=28]

有什么想法吗?

【问题讨论】:

    标签: java swing colors


    【解决方案1】:

    您正在比较 String 和 Color 对象。正确的断言是

    assertEquals(Color.ORANGE, myText.getColor());
    

    java.awt.Color.orange 也是new Color(255, 200, 0);

    【讨论】:

    • 我得到:java.lang.AssertionError: 预期: 但是是:
    • 那么要么你的测试错了,要么你的代码错了。颜色 看起来 在您的眼睛看来是橙色的事实并不使其 等于 与 ORANGE 颜色,它非常精确地定义为 r=255,g=200,b =0。
    【解决方案2】:

    无论如何,在 java/awt/Color.java 源代码中 ORANGE 被定义为:

    /**
     * The color orange.  In the default sRGB space.
     */
    public final static Color orange    = new Color(255, 200, 0);
    
    /**
     * The color orange.  In the default sRGB space.
     * @since 1.4
     */
    public final static Color ORANGE = orange;
    

    【讨论】:

      猜你喜欢
      • 2014-06-14
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2011-11-22
      • 2011-08-08
      相关资源
      最近更新 更多