將 JTextField 輸入限制為整數
要將 JTextField 中的輸入限制為正整數,建議使用 DocumentFilter 而不是 KeyList。 DocumentFilter 提供了處理各種輸入情境的更全面的解決方案。
DocumentFilter 實作
可以實作 DocumentFilter 以在插入時驗證輸入。此範例過濾器 MyIntFilter 檢查輸入的文字以確保其表示有效的整數:
class MyIntFilter extends DocumentFilter { ... private boolean test(String text) { try { Integer.parseInt(text); return true; } catch (NumberFormatException e) { return false; } } ... }
此過濾器檢查輸入文字是否可以解析為整數。如果有效,則允許插入。否則,它會阻止插入。
套用 DocumentFilter
要將過濾器套用到 JTextField,請使用 setDocumentFilter 方法:
PlainDocument doc = (PlainDocument) textField.getDocument(); doc.setDocumentFilter(new MyIntFilter());
使用的優點DocumentFilter
以上是如何將 JTextField 輸入限制為僅正整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!