如何检查两个jbuttons是否相同(java)

时间:2016-01-07 00:34:53

标签: java swing jbutton mouseclick-event

有没有办法检查我们从点击(mouseClicked)获得的按钮是否与按钮数组中存在的按钮相同?我已经使用了(==)和equals(),但都不起作用。

我是java的新手,请记住这一点。

2 个答案:

答案 0 :(得分:0)

==equals()具有不同的功能:

<强> ==

如果对象的两个引用指向同一个对象,则

==变为true,如下所示:

Object a = new Object();
Object b = a;
System.out.println(a == b);
// prints true because a referres to the same onject as b

<强>等于()

如果对象相等,则

equals()返回true,这意味着不一定是同一个对象。它改为检查所有字段/属性是否相等。它的实现取决于课程。

答案 1 :(得分:0)

应该使用ActionListener而不是MouseListener来处理按钮点击。当你这样做时,你可以通过这种方式访问​​点击源:

ActionListener al = e -> {
     JButton button = (JButton) e.getSource();
     //search your array here
};
button.addActionListener(al);

然后只需浏览您的数组并通过==运算符比较引用。另外,我建议使用Collection代替数组,并使用Collection.contains(T t)方法。