2011-12-26 32 views
1

我想第一次使用和理解JTrees,TreeModels,TreeModes等。我想用一棵樹來代表我的本地設備附近的藍牙設備。我的藍牙設備是樹的根節點,任何來自根節點的FIRST後代都將是附近的藍牙設備。JTree如何以編程方式更改節點?

設置我樹開始與如下(縮短爲了簡潔代碼):

topTreeNode = new DefaultMutableTreeNode("Local Bluetooth Device"); 
treeModel = new DefaultTreeModel(topTreeNode); 
jTree1 = new javax.swing.JTree(treeModel); 

當JTree的最初顯示的根節點讀取「本地藍牙設備」。但是,一旦我初始化藍牙堆棧,我希望根節點顯示我的本地藍牙設備的'友好名稱'和地址。

我得到的問題是如何更改根節點?我嘗試了各種方法,包括爲topTreeNode創建一個新的DefaultMutableTreeNode(),但JTree不會馬上重新繪製。我應該實施一個聽衆嗎?

任何建議表示讚賞。

+2

我認爲在根節點上調用getUserObject()應該讓你用你創建的節點。如果它的一個自定義對象和它的可變的,你可以設置它的值:-)或者只是setUserObject()可以讓你改變它。 – aishwarya 2011-12-26 17:40:40

+0

謝謝艾西瓦婭。如果你作爲答案發布,我會把它記爲你。 – Kerry 2011-12-26 17:57:47

回答

2

的要求,發佈這作爲一個答案:

我覺得根節點上調用getUserObject()應該給你什麼,你創建的節點用。如果它的一個自定義對象和它的可變的,你可以設置它的值:-)或者只是setUserObject()可以讓你改變它。

相關問題