首頁 >Java >java教程 >如何將 JTextField 輸入限制為僅正整數?

如何將 JTextField 輸入限制為僅正整數?

Barbara Streisand
Barbara Streisand原創
2024-12-12 21:18:15135瀏覽

How to Restrict JTextField Input to Positive Integers Only?

將 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn