首頁 > Java > java教程 > 為什麼我的 JFormattedTextField 在輸入無效內容後重新顯示有效輸入?

為什麼我的 JFormattedTextField 在輸入無效內容後重新顯示有效輸入?

Linda Hamilton
發布: 2024-12-02 06:27:13
原創
800 人瀏覽過

Why Does My JFormattedTextField Re-display Valid Input After an Invalid Entry?

JFormattedTextField 問題:無效輸入後文字重新出現

在您的程式碼中,您在JFormattedTextField JFormattedTextField 🎜>SudokuTextBox 強制驗證。但是,當輸入有效且隨後無效的值時,文字方塊會被清除,但向前按 Tab 鍵時會重新出現先前的有效值。

原因和解決方案

您的問題在於您在輸入無效內容後清除文字方塊的方式。當無效時,您將文字設為​​“null”而不是空字串。這會導致 JFormattedTextField 保留最後一個有效值作為預設值,當焦點變更時該值會重新出現。

要解決此問題,只需在無效輸入後將文字設為​​空字串即可:

public void keyReleased(KeyEvent e) {
  //...
  // Corrected line:
  if(sudoku.isValid(row, col, value)) {
   sudoku.set(row, col, value);
  }
  else {
   sudoku.set(row, col, 0);
   tb.setText(""); // Set to empty string, not null
  }
  //...
}
登入後複製

以上是為什麼我的 JFormattedTextField 在輸入無效內容後重新顯示有效輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板