1

JTree、TreeModels、TreeModesなどを初めて使用して理解しようとしています。ローカルデバイスの近くにあるBluetoothデバイスを表すためにTreeを使用したいと思います。私のBluetoothデバイスはツリーのルートノードであり、ルートノードからの最初の子孫はすべて近くのBluetoothデバイスになります。

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

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

JTreeが最初に表示されると、ルートノードは「ローカルBluetoothデバイス」と表示されます。ただし、Bluetoothスタックを初期化したら、ルートノードにローカルBluetoothデバイスの「わかりやすい名前」とアドレスを表示させたいと思います。

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

4

1 に答える 1

2

要求に応じて、これを回答として投稿します。

ルートノードでgetUserObject()を呼び出すと、ノードを作成したものが得られると思います。カスタムオブジェクトと可変の場合は、その値を設定できます:-)または、setUserObject()だけで、とにかく変更できます。

于 2011-12-27T04:12:34.880 に答える