开发者

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

开发者 https://www.devze.com 2022-12-10 09:18 出处:网络
this.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) {
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

精彩评论

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