Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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 如何防止DefaultTreeCeleditor离开编辑模式?_Java_Swing_Jtree - Fatal编程技术网

Java 如何防止DefaultTreeCeleditor离开编辑模式?

Java 如何防止DefaultTreeCeleditor离开编辑模式?,java,swing,jtree,Java,Swing,Jtree,我正在开发一个Java程序,其中JTree使用DefaultTreeCeleditor编辑其节点。EditorComponent是一个带有JTextField和两个jButton的JPanel。我的问题是,只需单击“中止”按钮即可离开编辑模式,但每次编辑组件失去焦点时,编辑模式也会离开。那么,如果EditorComponent失去焦点,如何防止DefaultTreeCellEditor离开其EditorMode呢?欢迎 另外,DefaultTreeCellEditor有一个名为stopCellE

我正在开发一个Java程序,其中JTree使用DefaultTreeCeleditor编辑其节点。EditorComponent是一个带有JTextField和两个jButton的JPanel。我的问题是,只需单击“中止”按钮即可离开编辑模式,但每次编辑组件失去焦点时,编辑模式也会离开。那么,如果EditorComponent失去焦点,如何防止DefaultTreeCellEditor离开其EditorMode呢?

欢迎

另外,DefaultTreeCellEditor有一个名为stopCellEditing()的方法以及DefaultCellEditor。每次离开编辑模式前都会调用此方法。因此,通过重写此方法,您可以集成自己的逻辑。例如,如果按下了按钮xy,或者当前值是正确的,等等。您返回true,否则您只返回false,让他保持编辑模式。

欢迎


另外,DefaultTreeCellEditor有一个名为stopCellEditing()的方法以及DefaultCellEditor。每次离开编辑模式前都会调用此方法。因此,通过重写此方法,您可以集成自己的逻辑。例如,如果按下按钮xy,或者当前值是正确的,等等。您返回true,否则您只返回false,让他保持编辑模式。

非常感谢您。答案是朝正确方向迈出的第一步,但您还必须调用setInvokeStopCellEditing(true);。否则将永远不会调用stopCellEditing()-Methode。下面的错误注释链接显示了如何使用stopCellEditing()的完整示例。向CrasyHorseGlad致意我能为你指出正确的方向。到目前为止,从未使用过TreeTables。我猜它和普通桌子很像。所以我会记住这些信息,谢谢你的更新!我非常感谢你,伊梅恩。答案是朝正确方向迈出的第一步,但您还必须调用setInvokeStopCellEditing(true);。否则将永远不会调用stopCellEditing()-Methode。下面的错误注释链接显示了如何使用stopCellEditing()的完整示例。向CrasyHorseGlad致意我能为你指出正确的方向。到目前为止,从未使用过TreeTables。我猜它和普通桌子很像。所以我会记住这些信息,谢谢你的更新!