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



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

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

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

最初显示JTree时,根节点读取'Local Bluetooth Device'。然而,一旦我初始化蓝牙堆栈,我希望根节点显示本地蓝牙设备的"友好名称"和地址。

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

按要求回复:

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

相关内容

  • 没有找到相关文章

最新更新