java - Color == Robot.getPixelColor 结果为 false,即使它们是相同的颜色?

标签 java colors boolean

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

JFrame 框架 = new JFrame(); 框架.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);

最佳答案

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

关于java - Color == Robot.getPixelColor 结果为 false,即使它们是相同的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65115943/

相关文章:

Android 导航栏在横向上失去颜色

javascript - 如果 Boolean(1.2) 实际上为 true,为什么 1.2 == true 返回 false?

Python 检查列表是否只包含空元素或空格

java - Tomcat 在关闭 jar 时关闭

java - J2ME Hessian 限制的解决方法?

java - 在 RGB 的 'red' 值上添加一定量以创建日落效果,请帮忙。 (java)

objective-c - Objective-C - 哪种语法?

java - 如何在 Java 中使用流式处理从 Set 中创建 HashMap

java - Java中停止线程并释放锁

variables - 在Gnuplot中,当第三列等于零时,如何使一种颜色成为点,否则使另一种颜色成为点?