this.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
// How do I access the parent tree from here?
}
});
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With