this.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
// How do I access the parent tree from here?
}
});
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();
}
}
但是,如果只需要访问封闭示例中的成员,而不是获取对示例本身的引用,则可以直接访问它:
Runnable r = new Runnable() {
public void run() {
System.out.println(name); // Access Test.this.name
}
};
2条答案
按热度按时间disho6za1#
你可以用
OuterClass.this
:但是,如果只需要访问封闭示例中的成员,而不是获取对示例本身的引用,则可以直接访问它:
z9gpfhce2#
TreeSelectionListener
是一个接口,因此唯一的父类是Object
,您应该可以使用super
.如果您的意思是调用封闭类的某个方法,那么可以在方法中直接调用它。