您如何使用 JavaFX 监听在 TextField 中完成的鼠标粘贴?

Luk*_*cek 2 java javafx event-handling

将文本复制到剪贴板,右键单击文本字段并按“粘贴”,有没有办法在单击粘贴时进行收听?或者更确切地说,在以这种方式粘贴某些内容后,字段中的输入文本发生了变化。因为这些在这种特殊情况下不起作用:

setOnKeyReleased()
setOnInputMethodTextChanged()
Run Code Online (Sandbox Code Playgroud)

Jam*_*s_D 6

“粘贴”功能在 in 的TextInputControl超类中TextField实现public void paste()。因此,虽然它不是真正的事件驱动或 MVC 方法,但您可以通过覆盖此方法来响应“粘贴”操作(无论是通过鼠标还是键盘快捷键调用,通常是 ctrl-V):

TextField tf = new TextField() {
    @Override
    public void paste() {
        super.paste();
        System.out.println("text pasted in");
    }
}
Run Code Online (Sandbox Code Playgroud)