몇 개의 노드와 하위 노드가있는 JTree가 있습니다. 노드를 클릭하면 어떤 깊이인지 알고 싶습니다 (0, 1, 3). 어떻게 알 수 있습니까? 당신은 getLevel
를 사용한다JTree에서 현재 노드의 깊이를 얻는 방법?
답변
현재 노드의 깊이를 반환하지 않습니다
selected_node.getDepth();
.... getLevel
은이 노드 위의 레벨 수를 반환합니다. 루트에서이 노드까지의 거리입니다. 이 노드가 루트이면 0을 반환합니다. Treenode[]
경로를 얻은 이유가 무엇이든 (getPath()
사용) 그 배열의 길이를 사용하는 것으로 충분합니다.
getDepth
은이 노드에 뿌리를 둔 트리의 깊이를 반환하기 때문에 다릅니다. 네가 원하는게 아니야. 당신이 TreeSelectionEvent
처리하는 TreeSelectionListener
이있는 경우 JTree
내부 Iterate
에있는
basicaly하지만 TreeSelectionListener
수 반환 흥미 값은, 예를
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
public class TreeSelectionRow {
public TreeSelectionRow() {
JTree tree = new JTree();
TreeSelectionListener treeSelectionListener = new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent treeSelectionEvent) {
JTree treeSource = (JTree) treeSelectionEvent.getSource();
System.out.println("Min: " + treeSource.getMinSelectionRow());
System.out.println("Max: " + treeSource.getMaxSelectionRow());
System.out.println("Lead: " + treeSource.getLeadSelectionRow());
System.out.println("Row: " + treeSource.getSelectionRows()[0]);
}
};
tree.addTreeSelectionListener(treeSelectionListener);
String title = "JTree Sample";
JFrame frame = new JFrame(title);
frame.add(new JScrollPane(tree));
frame.setSize(300, 150);
frame.setVisible(true);
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
TreeSelectionRow treeSelectionRow = new TreeSelectionRow();
}
});
}
}
와우, 흥미로운 기능! 익명으로 제안 된 getLevel()을 사용 하겠지만 너무 감사합니다. –
를 들어, 선택한 TreePath
의를 검색 할 TreeSelectionEvent#getPaths
방법을 사용할 수 있습니다 . TreePath#getPathCount
메서드는 선택한 경로의 깊이를 반환합니다.
JTree#getSelectionPaths
메서드를 사용하여 JTree
에 직접 문의 할 수도 있습니다 (선택 사항이 변경 될 때 청취자에게 알려야하지만).
- 1. 노드의 수평 깊이를 얻는 방법?
- 2. 계층에서 현재 노드의 깊이를 출력
- 3. jtree에서 모든 노드의 고유 ID 또는 값을 얻는 방법은 무엇입니까?
- 4. 어떻게 노드의 깊이를 얻을 수
- 5. JTree에서 노드의 경로를 저장하는 방법은 무엇입니까?
- 6. 어버이의 깊이를 얻는 WordNet
- 7. TinyMCE에서 노드의 ID를 얻는 방법?
- 8. dom4J : 노드의 요소 값을 얻는 방법?
- 9. jtree에서 루트 노드의 모든 하위 항목을 가져 오는 방법은 무엇입니까?
- 10. XDocument에서 현재 노드의 경로
- 11. 현재 TimeStamp를 얻는 방법?
- 12. 현재 ApiController를 얻는 방법
- 13. 현재 위치를 얻는 방법?
- 14. xpath를 통해 각 노드의 속성을 얻는 방법
- 15. MvcSiteMapProvider를 사용하여 Mvc.sitemap에서 노드의 URL을 얻는 방법
- 16. PHP에서 노드의 자식 노드를 얻는 방법?
- 17. Xpath 표현식에서 노드의 부분 문자열을 얻는 방법
- 18. xquery : 노드의 고유 한 값을 얻는 방법
- 19. JTree에서 모든 노드를 제거하는 방법
- 20. 현재 노드의 부모 노드 이름을 얻는 방법은 무엇입니까?
- 21. 이진 검색 트리의 깊이를 계산하는 방법
- 22. PHP : 현재 URL의 디렉토리 깊이를 어떻게 얻습니까?
- 23. AS2에서 깊이를 관리하는 방법
- 24. glsl의 깊이를 처리하는 방법
- 25. std :: map에서 각 노드의 깊이를 찾는 방법은 무엇입니까?
- 26. xpath 현재 노드의 값을 찾습니다.
- 27. 화면의 표시 깊이를 얻는 방법은 무엇입니까?
- 28. html 트리의 최대 깊이를 얻는 방법은 무엇입니까?
- 29. jstree에서 현재 선택된 노드의 텍스트를 얻으려면 어떻게해야합니까?
- 30. mysql 저장 프로 시저 재귀에서 깊이를 얻는 방법?
감사합니다. –