2011-12-26 12 views
1

JTrees、TreeModels、TreeModesなどを初めて使用しようとしています。自分のローカルデバイスの近くにあるBluetoothデバイスを表すためにツリーを使いたいと思っています。私のBluetoothデバイスはツリーのルートノードであり、ルートノードの最初の子孫は、近くにあるBluetoothデバイスです。JTreeノードをプログラム的に変更するにはどうすればよいですか?

私は(コードが簡潔にするために短縮)は次のように開始するために私のツリーを設定します。

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

JTreeのは、最初にルートノードが「ローカルBluetoothデバイス」を読み込み、表示された場合。しかし、Bluetoothスタックを初期化すると、ローカルノードの「フレンドリ名」とローカルのBluetoothデバイスのアドレスをルートノードに表示することができます。

私が持っている問題は、ルートノードをどのように変更すればよいのでしょうか? topTreeNodeの新しいDefaultMutableTreeNode()を作成するなど、さまざまな方法を試しましたが、JTreeはすぐに再描画しません。リスナーを実装するはずですか?

アドバイスありがとうございます。

+2

私は、ルートノードでgetUserObject()を呼び出すと、あなたがノードを作成したものを得るはずだと思います。そのカスタムオブジェクトとその変更可能な場合は、その値を設定することができます:-)または単にsetUserObject()を使用すると、それを変更することができます。 – aishwarya

+0

ありがとうaishwarya。あなたが答えとして投稿するなら、私はあなたにそれを信用します。 – Kerry

答えて

2

要求されるように、その答えとしてこれを投稿:

を私は(getUserObjectを呼び出すと思います)ルートノード上のあなたが持つノードを作成した何を取得する必要があります。そのカスタムオブジェクトとその変更可能な場合は、その値を設定することができます:-)または単にsetUserObject()を使用すると、それを変更することができます。

関連する問題