Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java swing-触发树单元编辑事件_Java_Swing_Editor_Rename_Jtree - Fatal编程技术网

Java swing-触发树单元编辑事件

Java swing-触发树单元编辑事件,java,swing,editor,rename,jtree,Java,Swing,Editor,Rename,Jtree,我有一个具有可编辑节点的JTree 如何以编程方式触发树单元编辑事件,即调出节点重命名文本框来代替高亮显示的节点,就像用户手动高亮显示它并按下F2键一样 基本上,我想添加一个“重命名”菜单项或工具栏按钮,向用户提示树的特定功能,并且我希望当用户高亮显示节点时,它的功能与F2键相同。看到这个了吗 为了使树节点中的文本可编辑,我们调用 在树上设置可编辑(true)。当用户编辑完一个 节点,该模型生成一个树模型事件,该事件告诉任何侦听器 -包括JTree——树节点已经更改。注意 虽然DefaultMu

我有一个具有可编辑节点的JTree

如何以编程方式触发树单元编辑事件,即调出节点重命名文本框来代替高亮显示的节点,就像用户手动高亮显示它并按下F2键一样

基本上,我想添加一个“重命名”菜单项或工具栏按钮,向用户提示树的特定功能,并且我希望当用户高亮显示节点时,它的功能与F2键相同。

看到这个了吗

为了使树节点中的文本可编辑,我们调用 在树上设置可编辑(true)。当用户编辑完一个 节点,该模型生成一个树模型事件,该事件告诉任何侦听器 -包括JTree——树节点已经更改。注意 虽然DefaultMutableTreeNode具有更改节点的 内容,更改应通过DefaultTreeModel封面方法进行。 否则,将不会生成树模型事件,并且侦听器 例如,树将不知道更新

编辑:

若要为节点添加上下文菜单,请参见以下问题:。

1)通过
鼠标
/
键盘
事件)选择某个节点,并通过
树选择侦听器
进行侦听,则所选路径具有唯一ID

2) 将
Swing Action
添加到
JMenuItem
(在
JPopup
?)中,您的问题不清楚如何从/到获取节点??)

3) 创建类、void、任意内容并开火

SwingUtilities.invokeLater(new Runnable() {  
    public void run() {  
        tree.startEditingAtPath(path);  
    }  
});

4) 根据我的回答

谢谢你的回复,但这并不是我真正想要的。诚然,我不是很清楚。没关系,现在有答案了。:)如果我不想显示整个路径以进行重命名,我只需要显示叶节点的名称怎么办。这就是我要找的;不知怎的,我在javadoc里找不到它了谢谢。