2013-03-14 51 views
1

我有一個字段用於註冊有關業務中特定事務的註釋,我希望JTextField只允許寫入最多200個字母,然後開始消耗()它們。我知道你可以用KeyListener做到這一點,但我還沒有找到任何東西。謝謝您的幫助。消耗文本字段中的字母的方法

+0

請問你能更具體嗎?一旦大小達到200,你是否想要使用所有文本? – 2013-03-14 13:52:53

+0

是的,我想消耗200個字母后的所有文字。 – Washu 2013-03-14 13:55:00

+0

不,不要使用KeyListener!還有其他聽衆應該使用。 DocumentListener或DocumentFilter。我在下面的答案中建議DocumentFilter。 – camickr 2013-03-14 15:35:08

回答

1

如果你想在一定長度內保留JTextField中的一個字符串,你需要獲取文本並檢查它是否大於最大文本長度,並丟棄更大的文本。

private void setMaxTextLength(JTextField textField) { 
    if(textField.getText().length() > MAXLENGTH) { 
     textField.setText(textField.getText().substring(0, MAXLENGTH)); 
    } 
}