我在制作4人棋牌游戏时遇到了问题。我无法看到两个ImageIcons是否相同。我为红色,蓝色,绿色和黄色作品提供了四个阵列,我的想法是查看玩家点击的颜色是否与他们的颜色阵列中的任何作品匹配。然而,如果我说如果(colorIcon.equals(clickedIcon))它返回false。我知道那是因为.equals()引用了引用,并且我正在内存中创建新的空间。那么有什么办法可以比较两个ImageIcons?感谢您的回复!比较两个图像图标?
1
A
回答
1
你总是可以做到:
public class MyImageIcon extends ImageIcon{
String imageColor;
// Getters and setters...
// Appropriate constructor here.
MyImageIcon(Image image, String description, String color){
super(image, description);
imageColor = color;
}
@Override
public bool equals(Object other){
MyImageIcon otherImage = (MyImageIcon) other;
if (other == null) return false;
return imageColor == other.imageColor;
}
}
而且使用这个类来代替原始的ImageIcon
而是具有:
ImageIcon myImage = new ImageIcon(imgURL, description);
你会:
MyImageIcon myImage = new MyImageIcon (imgURL, description, "RED");
0
0
它很简单,因为这:
ImageIcon i=new ImageIcon("getClass().getResource("image.jpg");//this is the image you want to compare to jLabel's icon
if(jLabel1.getIcon().equals(i){
//...do something
}
相关问题
- 1. OSX:比较两个图像
- 2. 两幅图像的图像比较
- 3. 比较两幅图像
- 4. 比较两个图像问题
- 5. 比较两个图像是否相同
- 6. 在JavaScript中比较两个图像
- 7. 比较Android中的两个图像
- 8. 使用OpenCV比较两个图像
- 9. 比较IOS中的两个图像8
- 10. 标志的图像比较
- 11. Python:用户界面图像擦除,比较两个图像
- 12. 比较两个视图
- 13. 位图图像比较
- 14. 如何比较图像的两个直方图?
- 15. 使用直方图比较两个图像
- 16. Javascript比较图像
- 17. 比较图像matlab
- 18. iOS图像比较
- 19. 比较GIF图像像素
- 20. 如何比较图像(缓存图像)?
- 21. 比较图像(形状sihlohette图像)
- 22. 试图比较两个数组PHP
- 23. 如何比较两个Dia图?
- 24. 图形和比较两个数据集
- 25. Android-Stuck与两个视图的比较
- 26. 比较平等两个视图
- 27. 在salesforce中比较两个视图
- 28. 使用SIFT比较图像
- 29. 我如何比较图像
- 30. 硒/ JAVA图像比较
你不应该比较ImageIcons。你有代表棋子的班级吗?如果是这样,你应该比较一下棋子的类型。如果您发现自己需要比较图像图标来解决问题,我认为您的代码中存在设计问题。 – gigadot