this.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
// How do I access the parent tree from here?
}
});
답변
TreeSelectionListener
은 인터페이스이므로 유일한 부모 클래스는 Object
이고 super
과 통화 할 수 있어야합니다.
둘러싸는 클래스의 일부 메소드를 호출하려는 경우 메소드 내에서 직접 호출 할 수 있습니다.
내가 질문에 대한 충분한 정보를 얻지 못했기 때문에 답변을 downvoted 사람처럼 : "Java에서 익명 개체의 부모 개체에 어떻게 액세스합니까?" 나는 왜 익명의 클래스에서 super를 사용할 수 있는지 이해하지 못했습니다. super 또는 this에 대한 호출이 익명의 부모가 아닌 외부 클래스에 해당하기 때문에 당신이 할 수 없다고 생각했습니다. 흠 ... 죄송합니다 ... 나는 아직도 정확한 답을 모릅니다.하지만 제가 서두른 것처럼 보입니다 ... 실제적인 정답을 찾고 결정을 내리는 것이 더 좋을 것입니다 ... – yashaka
당신은 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();
}
}
을하지만, 방금 오히려 인스턴스 자체에 대한 참조를 얻는 것보다, 주위를 둘러싸는 경우에 회원에 액세스해야하는 경우, 당신은 단지 그것을 직접 액세스 할 수 있습니다 :
Runnable r = new Runnable() {
public void run() {
System.out.println(name); // Access Test.this.name
}
};
@Chris : 어떤 방법으로 질문에 대답하지 않습니까? 그것은 엔 클로징 인스턴스를 얻는 방법을 절대적으로 보여줍니다. 적어도, 그것은 내가 믿는 질문에 답합니다. 명확한 질문 ("부모 개체"라는 용어는 정의되지 않았습니다)과는 거리가 멀지 만 OP는 "인스턴스를 둘러 쌈"을 의미한다고 가정합니다.이 경우 질문에 답합니다. –
Java 자체는 "부모"를 정의하지 않지만 객체 지향 프로그래밍 언어의 수퍼 클래스에 대한 일반적인 용어입니다. "Java parent"또는 "object-oriented parent"에 대한 웹 검색은 수백만 건의 조회수를 표시합니다. "클래스 다이어그램"에 대한 wikipedia의 빠른 참조를 보면 "일반화 관계에있는 수퍼 클래스 (기본 클래스)는"부모 ", 수퍼 클래스, 기본 클래스 또는 기본 유형이라고도합니다." –
@Chris : 그렇습니다.하지만 익명 형식의 컨텍스트와 클래스의 주석을 무시합니다. 메서드의 주석은 * listener *와 분명히 구별되는 * tree *에 대해 말합니다. 나는 모호한 질문에 대한 나의 해석이 유효한 해석이라는 것을지지한다. –
- 1. 수퍼 클래스 인스턴스 var에 어떻게 액세스합니까?
- 2. 수퍼 클래스에 건설을 전달
- 3. Java의 서브 클래스에 메소드 위임
- 4. 청취자 내부에서 외부 클래스에 액세스합니까?
- 5. flex/as3에서 수퍼 클래스의 수퍼 클래스에 액세스 할 수 있습니까?
- 6. 파생 클래스의 수퍼 클래스에 대한 테스트 적용
- 7. 최대 절전 모드 : 하위 클래스를 수퍼 클래스에 어떻게 연결합니까?
- 8. 외부 클래스의 한 클래스에 속한 변수에 어떻게 액세스합니까?
- 9. JSF 페이지에서 비 관리 Bean 클래스에 어떻게 액세스합니까?
- 10. Java의 FTPClient 클래스에 문제가 있습니다
- 11. Java의 ArrayList 클래스에 대한 문제
- 12. 아이폰은 하위 클래스의 수퍼 클래스에 값을 전달합니다.
- 13. 하위 클래스에 수퍼 클래스의 속성을 전달합니다.
- 14. 수퍼 클래스에 하위 클래스 참조가 있습니다.
- 15. 자체 형식의 스칼라에서 수퍼 클래스에 메서드 호출하기
- 16. WAR의 루트에 어떻게 액세스합니까?
- 17. NSMutableDictionary의 키에 어떻게 액세스합니까?
- 18. QTabWidget에있는 위젯에 어떻게 액세스합니까?
- 19. WF4에서 데이터베이스에 어떻게 액세스합니까?
- 20. 팝업 버튼에 어떻게 액세스합니까?
- 21. 파이썬에서 웹캠에 어떻게 액세스합니까?
- 22. Java와의 연결에 어떻게 액세스합니까?
- 23. QTextDocument의 QUndoStack에 어떻게 액세스합니까?
- 24. TPicture.Graphic의 팔레트에 어떻게 액세스합니까?
- 25. ListViewItem에 어떻게 액세스합니까?
- 26. WP7에서 어떻게 podcast에 액세스합니까?
- 27. 상위 컨트롤러의 모든 요청에서 은닉에 어떻게 액세스합니까?
- 28. (자바 스크립트) 수퍼 클래스에 멤버가 정의되어 있는지 확인합니다.
- 29. XML 비 직렬화, 어떻게 속성에 액세스합니까?
- 30. 다른 클래스의 변수에 어떻게 액세스합니까?
부모 트리 란 무엇입니까? –
아, 미안해. Java를 처음 접했을 때 TreeSelection이 인터페이스라는 것을 알지 못했습니다. – Goutham