public class Ability{
ItemStack i;
public Ability(ItemStack i){
this.i = i;
}
}
public class OtherClass{
onEvent(Event e){
if(e.getItemStack() is an ItemStack from the Ability class){
//do stuff
}
}
}
你希望注意到这是伪代码,但它代表了我想要实现的目标。这将转变我的真正重要的转换声明,它也将我的项目与Java 7的依赖联系起来,使其更加简洁和多样化。我需要一种方法来查找通过我的事件监听器传递的ItemStack对象是否来自我的Ability类。
答案 0 :(得分:0)
简单的方法是Event类有一个源元素,就像Swing事件类一样,ex http://docs.oracle.com/javase/7/docs/api/java/util/EventObject.html#getSource()。
但是试着找出一个解决方案,其中事件处理程序将独立于源。 通常有一种更好的方法,可以避免听众和来源之间的这种耦合......