我想知道是否有办法在TextArea中设置提示文字位置。
基本上我正在尝试创建与ListView占位符类似的效果。它只是为了保持UI的一致性,所以一切都看起来很相似。
有任何建议。
答案 0 :(得分:0)
我认为你只能通过肮脏的黑客来做到这一点: 将对齐方式设置为中心。 根据您的需要,可以添加一个焦点监听器,在聚焦时将对齐设置为左侧,并在焦点离开时再将焦点设置为中心。
text.focusedProperty().addListener((p,o,n)->{
if(n){
text.setAlignment(Pos.CENTER_LEFT);
}else {
text.setAlignment(Pos.CENTER);
}
});
或者在键入时添加一个keylistener来获取左对齐的文本(如果需要,可以使用焦点左侧的侦听器重置它,例如空)
setOnKeyPressed(e->text.setAlignment(Pos.CENTER_LEFT));