JTree如何以编程方式更改节点?

问题描述 投票:1回答:1

我第一次尝试使用并了解JTree,TreeModels,TreeModes等。我想使用树表示本地设备附近的Bluetooth设备。我的Bluetooth设备是树的Root节点,并且根节点的所有FIRST后代都将是附近的Bluetooth设备。

我将树设置为以以下内容开头(为简洁起见,代码已缩短):

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

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

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

java swing jtree treemodel
1个回答
2
投票

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

我认为在根节点上调用getUserObject()应该可以为您创建节点所用。如果它是一个自定义对象并且是可变的,则可以设置其值:-)或只是setUserObject()都可以允许您对其进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.