簡體   English   中英

在javafx中的文本字段中添加特殊字符

[英]add a special character to a text field in javafx

我想在文本字段中添加特殊字符。 例如,我想在用戶鍵入的日期之間自動添加/ 或在數字中的某些數字之間添加一些空格,例如:“ 2020 2020 2020 2020”

我使用了此代碼,但無法正常工作。

textfield.textProperty().addListener(new ChangeListener<String>(){
  @Override
 public void changed(ObservableValue<? extends String> ov, String t, String t1) {
       if(t1.length()==4 || t1.length()==9 || t1.length()==14){
          textfield.setText(t1+" ");
           System.out.println("space added");
    }
}

}

它添加了很好的空間。 我認為問題在於您想在添加額外文字后移動克拉的位置。 您可以使用textfield.getCaratPosition()查找當前位置,並使用textfield.positionCarat(...)進行更改。

但是,邏輯將非常復雜,並且在很大程度上取決於用戶的操作以及您希望文本字段如何表現。 例如,如果由於用戶刪除某些內容而導致文本更改,該怎么辦? 復制和粘貼呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM