将提示文本设置为JavaFX中TextArea控件的中心

时间:2014-09-25 13:20:21

标签: textarea javafx-8

我想知道是否有办法在TextArea中设置提示文字位置。

基本上我正在尝试创建与ListView占位符类似的效果。它只是为了保持UI的一致性,所以一切都看起来很相似。

有任何建议。

1 个答案:

答案 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));