1

我第一次尝试使用和理解 JTrees、TreeModels、TreeModes 等。我想使用 Tree 来表示本地设备附近的蓝牙设备。我的蓝牙设备是树的根节点,根节点的任何第一个后代都将是附近的蓝牙设备。

我将我的树设置为如下开始(为简洁起见缩短了代码):

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

当 JTree 最初显示时,根节点读取“本地蓝牙设备”。但是,一旦我初始化蓝牙堆栈,我希望根节点显示我的本地蓝牙设备的“友好名称”和地址。

我遇到的问题是如何更改根节点?我尝试了多种方法,包括为 topTreeNode 创建一个新的 DefaultMutableTreeNode() 但 JTree 不会立即重新绘制。我应该实现一个监听器吗?

4

1 回答 1

2

根据要求,将此作为答案发布:

我认为在根节点上调用 getUserObject() 应该可以让您获得创建节点的内容。如果它是一个自定义对象并且它是可变的,那么你可以设置它的值:-) 或者只是 setUserObject() 可以让你改变它。

于 2011-12-27T04:12:34.880 回答