java - 禁止向 JTextField 输入一些符号

标签 java swing

如何禁止输入除数字以外的任何符号到 JTextField

最佳答案

选项 1) 将 JTextField 更改为 JFormattedTextField,如下所示:

try {
   MaskFormatter mascara = new MaskFormatter("##.##");
   JFormattedTextField textField = new JFormattedTextField(mascara);
   textField.setValue(new Float("12.34"));
} catch (Exception e) {
   ...
}

选项 2)从键盘捕获用户的输入,如下所示:

JTextField textField = new JTextField(10);
textField.addKeyListener(new KeyAdapter() {
   public void keyTyped(KeyEvent e) {
      char c = e.getKeyChar();
      if ( ((c < '0') || (c > '9')) && (c != KeyEvent.VK_BACK_SPACE)) {
         e.consume();  // ignore event
      }
   }
});

关于java - 禁止向 JTextField 输入一些符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4863850/

相关文章:

java - JButton 内的上划线文本

java - Swing JTable 自定义渲染

java - 从 JPanel 读取 JFrame 大小

java - 使用 Java/Selenium - 正在运行多少个动画

java - Apache POI在Linux环境下读取xlsx文件时抛出异常

java - 在 Java 中使用子类的 main 打印数据

java - java中引用变量向下转换的澄清

java - 我无法弄清楚这个正则表达式的复杂性

java - 如何创建和编辑仅位于屏幕右半部分的面板?

java - 重新绘制椭圆,JAVA Swing/AWT