樹和節點的基本概念
樹可以用圖形的方式顯示眾多的節點以及它們之間的關系
所有組成樹的元素都成為節點(Node)
有關樹JTree的類和接口
JTree 顯示樹的核心基本類
TreeModel 定義了樹的數據模型接口
DefaultTreeModel 默認的樹模型接口實現類
TreeModelListener 樹模型的事件監聽器
TreePath 樹路徑
MutableTreeNode 樹節點接口
DedaultMutableTreeNode 默認的樹節點的實現類
TreeSelectionModel 定義了在樹上的選擇節點的數據模型接口
TreeSelectionModelListener 樹選擇模型事件的監聽器
代碼實例
DefaultMutableTreeNode root = new DefaultMutableTreeNode(
DefaultMutableTreeNode j
DefaultMutableTreeNode swingNode=new DefaultMutableTreeNode(
DefaultMutableTreeNode socketNode=new DefaultMutableTreeNode(
DefaultMutableTreeNode threadNode=new DefaultMutableTreeNode(
j
j
j
DefaultMutableTreeNode j
DefaultMutableTreeNode jspservletNode=new DefaultMutableTreeNode(
DefaultMutableTreeNode jdbcNode=new DefaultMutableTreeNode(
DefaultMutableTreeNode javaMailNode=new DefaultMutableTreeNode(
j
j
j
root
root
tree = new JTree(root);
相關語句解釋
// 創建一個樹節點
DefaultMutableTreeNode j
// 創建一個文字為
DefaultMutableTreeNode swingNode=new DefaultMutableTreeNode(
j
// 創建一個文字為Java的節點作為根節點
DefaultMutableTreeNode root = new DefaultMutableTreeNode(
root
root
tree = new JTree(root);
注意
給樹控件添加監聽
tree
public void valueChanged(TreeSelectionEvent evt) {
// 取得選擇狀態變化的所有路徑
TreePath[] paths = evt
for (int i=
// 如果處於選擇狀態
if (evt
// 將路徑轉化為節點數組
Object[] nodes=paths[i]
// 得到最後一個節點
DefaultMutableTreeNode node=(DefaultMutableTreeNode)nodes[nodes
// 輸出節點名
system
}
}
}
});
額外的一點美化工作
// 設定葉節點圖標
Icon leafIcon = new ImageIcon(TreePanel
// 設定關閉狀態節點圖標
Icon closedIcon = new ImageIcon(TreePanel
// 設定打開狀態節點圖標
Icon openIcon = new ImageIcon(TreePanel
// 取得樹的渲染器
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree
renderer
renderer
renderer
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26269.html