【问题标题】:Color == Robot.getPixelColor comes out as false even though they are the same color?Color == Robot.getPixelColor 即使颜色相同,也会显示为假?
【发布时间】:2020-12-02 20:51:20
【问题描述】:

我是java初学者,所以请原谅我的无知。对于一个类项目,我想知道我的 JFrame 上的像素是否与预定颜色相同。我使用 Robot.getPixelColor 来找出 JFrame 上的颜色。我遇到的问题是,尽管像素颜色和预定颜色相同,但如果我比较它们,布尔值就会出现错误。非常感谢您的阅读!

JFrame 框架 = 新的 JFrame(); frame.setSize(500,500);

      frame.setBackground(Color.WHITE);;
      Color backgroundColor = null;
        try {
            backgroundColor = new Robot().getPixelColor(82,355);
        } catch (AWTException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        Color color = Color.WHITE;
        System.out.println(backgroundColor);
        System.out.println(color);
        System.out.println(backgroundColor == color);
        
        frame.setVisible(true);

【问题讨论】:

    标签: java colors boolean


    【解决方案1】:

    您不能在对象上使用== 运算符(它只会比较对象地址)。
    试试(backgroundColor.equals(color))

    【讨论】:

    • 非常感谢!我不是一个聪明人,所以我真的很感激。
    猜你喜欢
    • 1970-01-01
    • 2016-05-10
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    相关资源
    最近更新 更多