我是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/