我正在开发一个Java程序,其中JTree使用DefaultTreeCellEditor来编辑其节点。 EditorComponent是一个带有JTextField和两个JButton的JPanel。我的问题是只需单击Abort-Button就应该离开Editmode,但每次EditorComponent失去焦点时,Editmode也会被遗留。那么如果EditorComponent失去焦点,如何防止DefaultTreeCellEditor离开其Editmode? p>
答案 0 :(得分:1)
欢迎!
Afaik DefaultTreeCellEditor有一个名为stopCellEditing()的方法以及DefaultCellEditor。在离开编辑模式之前,每次都会调用此方法。因此,通过覆盖此方法,您可以集成自己的逻辑。例如,如果按下按钮xy,或者当前值是正确的等等,则返回true,否则您只返回false并让他保持编辑模式。