1.
addTreeSelectionListener ( TreeSelectionListener listen)
//트리 노드가 선택 되었을때 일어나는 이벤트
2.
addTreeWillExpandListener ( TreeWillExpandListener listen)
//트리 노드가 펼쳐졌을떄 일어나는 이벤트
1. addTreeSelectionListener ( TreeSelectionListener listen)
public void valueChanged(TreeSelectionEvent e) { < --이 매서드 Override 해야함.
TreeSelectionEvent의 매소드 TreePath getPath();
리턴받은 트리패스는 toString 하면 해당 트리의 요소들을
[ROOT명, 자식, 손자, 나] 와같이 출력한다.
TreePath.getLastPathComponent() 메소드는
Object 형태로 리턴 하지만 이걸 DefaultMutableTreeNode로 변환이 가능하다!
이제부턴 뭐 DefaultMutableTreeNode를 쓰는거지뭐...
2. addTreeWillExpandListener ( TreeWillExpandListener listen)
@Override!!
public void treeWillExpand(TreeExpansionEvent event)
throws ExpandVetoException {
TreePath path = event.getPath(); //완전 단골 손님이네 다를것도 없네 씨퐁...
3. 아주 중요한 결론
결국 이거나 저거나
TreePath path = event.getPath() //써서 TreePath 받고
( DefaultMutableTreeNode ) path.getLastPathComponent()
// 로 결국 원래 노드화 시킴.
//근데 중요한건 이렇게 만들ㅇ진 노드는 원본노드의 해당 패스와 동일한 객체가 된다.
//즉 여기다가 밑에 뭘 달면 원본도 바뀌는 신기한 이야기...
[출처] [자바][스윙] JTree의 이벤트들|작성자 카루
'Programming > JAVA' 카테고리의 다른 글
[Swing] 스크린 가운데 배치 (0) | 2012.10.07 |
---|---|
[Swing]JTable 에 체크박스 넣기 (0) | 2012.10.07 |
[Swing]JSplitPane 반으로 쪼개는 판넬 (0) | 2012.10.07 |
[Swing] JTree를 이용해 트리 구성하기 (0) | 2012.10.07 |
[Swing]파일열기 JFileChooser (0) | 2012.10.07 |