开发者

How do I access the super class of TreeSelectionListener in Java?

this.addTreeSelectionListener(new TreeSelectionListener() {

        public void valueChanged(TreeSelectionEvent e) {

            // How do I access the parent tree from here?           
    开发者_C百科    }           
    });


You can use OuterClass.this:

public class Test {

    String name; // Would normally be private of course!

    public static void main(String[] args) throws Exception {
        Test t = new Test();
        t.name = "Jon";
        t.foo();
    }

    public void foo() {
        Runnable r = new Runnable() {
            public void run() {
                Test t = Test.this;
                System.out.println(t.name);
            }
        };
        r.run();
    }
}

However, if you just need to access a member in the enclosing instance, rather than getting a reference to the instance itself, you can just access it directly:

Runnable r = new Runnable() {
    public void run() {
        System.out.println(name); // Access Test.this.name
    }
};


TreeSelectionListener is an interface, so the only parent class would be Object, which you should be able to call with super.

If you meant calling some method of the enclosing class, you can call it directly as within a method.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜