Text 如何在JavaFX的文本字段中添加提示文本

Text 如何在JavaFX的文本字段中添加提示文本,text,javafx,textfield,hint,Text,Javafx,Textfield,Hint,我想在文本字段中添加一些提示文本,如“姓名”或“姓氏”。我创建了如下的textfieldtextfield userTextField=newtextfield(),但我找不到如何做到这一点。在这里,我刚刚发现了这个,但我不敢相信这是唯一的方法。还是我错了?我是这样做的: userTextField.setPromptText("name"); //to set the hint text userTextField.getParent().requestFocus(); //to not se

我想在文本字段中添加一些提示文本,如“姓名”或“姓氏”。我创建了如下的textfield
textfield userTextField=newtextfield(),但我找不到如何做到这一点。在这里,我刚刚发现了这个,但我不敢相信这是唯一的方法。还是我错了?

我是这样做的:

userTextField.setPromptText("name"); //to set the hint text
userTextField.getParent().requestFocus(); //to not setting the focus on that node so that the hint will display immediately

这个问题是关于修改默认行为的,即如果文本字段具有焦点,则提示文本不可见。如果您需要修改该行为,那么您需要按照这些思路做一些事情。如果您对默认行为感到满意,只需调用
userTextField.setPrompText(…)。我已经尝试了
TextField userTextField.setpromptext(“名称”)但它不起作用。几分钟前,我发现我必须这样做
userTextField.setFocusTraversable(false)事实上它是有效的。这个调用对我来说一直都很好,但是如果文本字段有焦点,你也不会看到提示文本。如果您调用
setFocusTraversable(false)
,这是否会降低用户体验(用户不能按“tab”导航到文本字段)?是的,如果字段有焦点,您就看不到提示文本,但我很幸运,因为包含该文本字段的UI在启动时没有焦点。此外,用户不需要按“tab”,因为该文本字段是UI中唯一存在的字段