Java 如何收听失去焦点的文本字段

Java 如何收听失去焦点的文本字段,java,listener,Java,Listener,我有一个swingFX GUI和一个文本字段,用户在其中输入出生日期。此文本字段用字符串“DD.MM.YYYY”初始化。 按下鼠标按钮后,文本字段被清除,用户可以输入出生日期字符串。如果用户没有在文本字段中输入任何字符串,我只想显示初始化的字符串“DD.MM.YYYY”。因此,基本上,当textField失去焦点(没有光标闪烁)时,我想检查textField内的值,如果里面没有字符(stringlength=0),我想将textField改回“DD.MM.YYYY” 以下是我到目前为止在触发鼠标

我有一个swingFX GUI和一个文本字段,用户在其中输入出生日期。此文本字段用字符串“DD.MM.YYYY”初始化。 按下鼠标按钮后,文本字段被清除,用户可以输入出生日期字符串。如果用户没有在文本字段中输入任何字符串,我只想显示初始化的字符串“DD.MM.YYYY”。因此,基本上,当textField失去焦点(没有光标闪烁)时,我想检查textField内的值,如果里面没有字符(stringlength=0),我想将textField改回“DD.MM.YYYY”

以下是我到目前为止在触发鼠标事件后清除文本字段的方法:

textBirthDate.setOnMouseClicked(e -> {
    if(textDeathDate.getText().equals("DD.MM.YYYY")) {
        textDeathDate.clear();
    }
});
如何捕捉焦点丢失事件?有这样的倾听者吗?我不想用鼠标退出监听器!
谢谢你的帮助

swingFX。。。这是Swing还是JavaFX?有关JavaFX,请参阅;对于Swing,我会使用SwingX库的“提示”支持,MadProgrammer,您解决了我的问题。我根本不知道“提示文字”的事。谢谢大家!@是的,它是JavaFX而不是swingFX(很抱歉)。我仍然想知道你们,如何聆听焦点的结束,因为我想检查这个字符串是否有效。例如,我想确定,2019年12月13日没有。在用户将焦点重新定位到另一个文本字段之后,我要执行这个检查。你能理解我的意思吗?如果这仍然不能满足你的要求,那么你可以考虑使用属性更改侦听器,