如何引用创建对象的对象?

时间:2010-06-21 01:23:35

标签: java this

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

我能做一些简单的方法吗?

2 个答案:

答案 0 :(得分: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 :(得分:1)

类似的东西:

    class CustomButton extends Button
    {
         private Object parent = null;

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

应该这样做。