我有一个按钮,可以添加到添加到框架的面板。 现在,当我单击此按钮时,我希望它调用方法eat(),这是Lion类的一种方法。现在,如果在mousePressed方法中包含新对象,我将如何执行此操作,下面每次单击时都会创建对象的新实例。我只想要一个对象实例并在该实例上调用该方法我该怎么做?
btnOpenNewFile.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
Lion adam = new Lion("Adam");
Cat meo = new Cat("Meo");
adam.eat(meo);
}
});
答案 0 :(得分:3)
将对象定义为类的成员属性:
final Lion adam = new Lion("Adam");
public void clickMe(){
btnOpenNewFile.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
Cat meo = new Cat("Meo");
adam.eat(meo);
}
});
}
答案 1 :(得分:1)
在外面创建它并在Listener中使用它,但你必须使它final
。您可以在构造函数中初始化它!