2017-01-12 21 views
0

有什麼辦法可以防止用戶將數據粘貼到TextField上? 我已經設置了一個ChangeListener,但我無法找到如何區分keyboardInput和粘貼操作的方式。有一件事是:如何在JavaFX中將「粘貼」動作限制爲特定的TextField?

myChangeListener = (ObservableValue<? extends String> observable, String oldValue, String newValue) -> { 
    if(Math.abs(newValue.length() - oldValue.length()!=1){ 
     //definitely paste - entered more than one symbol 
    } 
}; 

但是用戶也可以同時粘貼一個字符。這是我無法捕捉的情景。請提前幫助,謝謝。

回答

4

這似乎是一件奇怪的事情要做,因爲它會是預期的行爲。但是你可以重寫paste()方法,以便它是一個無操作:

TextField myTextField = new TextField() { 
    @Override 
    public void paste() { } 
}; 
+0

謝謝!!!!正是我在找什麼! –

相關問題