2010-06-21 35 views
3

在Java中,我有一个创建按钮的对象。在该按钮的onclicklistener内,我想引用创建按钮的对象。如何引用创建对象的对象?

有没有简单的方法可以做到这一点?

+0

'onclicklistener'?你在使用什么API? – 2010-06-21 08:48:05

回答

6

这取决于你如何组织它。通常情况下,实例没有对创建它们的实例的引用,除非将它传入并存储在某个地方。但是,如果你正在做的:

public class YourClass { 
    public void foo() { 
     JButton b = new JButton(); 
     b.addActionListener(new ActionListener() { 
      @Override public void actionPerformed(ActionEvent e) { 
       // Need reference to YourClass here 
      } 
     }); 
    } 
} 

,那么你可以参考外YourClass,使用YourClass.this

1

喜欢的东西:

class CustomButton extends Button 
    { 
     private Object parent = null; 

     public CustomButton(Object parent) { 
      super(); 
      this.parent = parent; 
     } 
    } 

应该做的伎俩。