如何爲用戶鎖定鍵盤,以便用戶不能在JTextField
中輸入任何數值?強制用戶不要在java中的jTextField中輸入數字輸入
0
A
回答
1
您可以使用DocumentFilter用於此目的,或者可以使用JFormattedTextField。
+0
請參閱:http://stackoverflow.com/questions/11571779/java-force-jtextfield-to-be-uppercase-only例如文件過濾器 – mrranstrom
2
javax.swing.InputVerifier
適用於大多數簡單的任務。
這裏有一個我擊倒了一天:
public class TexFieldValidator extends InputVerifier {
String regex;
String errorMsg;
JDialog popup;
public TexFieldValidator(String regex, String errorMsg) {
this.regex = regex;
this.errorMsg = errorMsg;
}
@Override
public boolean verify(JComponent input) {
boolean verified = false;
String text = ((JTextField) input).getText();
if (text.matches(regex)) {
input.setBackground(Color.WHITE);
if (popup != null) {
popup.dispose();
popup = null;
}
verified = true;
} else {
if (popup == null) {
popup = new JDialog((Window) input.getTopLevelAncestor());
input.setBackground(Color.PINK);
popup.setSize(0, 0);
popup.setLocationRelativeTo(input);
Point point = popup.getLocation();
Dimension dim = input.getSize();
popup.setLocation(point.x - (int) dim.getWidth()/2, point.y + (int) dim.getHeight()/2);
popup.getContentPane().add(new JLabel(errorMsg));
popup.setUndecorated(true);
popup.setFocusableWindowState(false);
popup.getContentPane().setBackground(Color.PINK);
popup.pack();
}
popup.setVisible(true);
}
return verified;
}
}
被盜從here。使用
例子:
iDTextField.setInputVerifier(new TexFieldValidator("[a-zA-Z0-9]{3}", "ID must be 3 alphanumerics."));
相關問題
- 1. 強制用戶只輸入數字
- 2. 數限制輸入的JTextField
- 3. 限制JTextField字符輸入
- 4. 在Java中輸入用戶輸入
- 5. 需要輸入輸入數組,直到用戶輸入0 JAVA
- 6. 強制用戶只輸入字段中的數字(RoR)
- 7. Java:從JTextField獲取用戶輸入
- 8. 如何強制用戶在數據庫字段中輸入值
- 9. 在Java中強制輸入有效
- 10. 強制用戶在輸入文本字段中輸入英文鍵盤
- 11. 限制用戶在JTextField中輸入時間的最佳方法
- 12. 強制用戶輸入不同的數字
- 13. 限制用戶中的字符數在Java中的字符串中輸入的掃描器輸入
- 14. 強制用戶在Matlab中輸入整數的最佳方法
- 15. 不要在輸入字段中輸入小數值
- 16. 通過Java中的JTextField獲取用戶輸入?
- 17. JTextField設置輸入限制
- 18. 「強制」用戶輸入和檢查正確的輸入類型
- 19. Java,確保用戶不輸入字符串中的數字
- 20. 用jQuery在輸入中強制輸入事件
- 21. 在沒有輸入或非數字輸入時的用戶輸入中斷
- 22. 如何強制用戶在DataGridCell中輸入數據
- 23. 在Tcl/Tk輸入字段強制輸入大寫字母
- 24. 獲取用戶輸入,而不輸入Java控制檯
- 25. 根據用戶輸入在輸入字段中顯示數據
- 26. Java - 在一行中輸出用戶輸入整數的整數
- 27. 使用JTextField進行用戶輸入
- 28. 限制用戶輸入的數字量
- 29. 將JTextField輸入限制爲整數
- 30. 要求用戶輸入一個數字
你想告知輸入錯誤的用戶得到ERR對話? –