java - 在电话号码后添加 "-"

标签 java

我目前正在从 JtextField 获取电话号码,我遇到的问题是在输入三位数字后我想在添加第三个整数后添加一个“-”,然后添加另一个“-”添加第六个整数。我不确定该怎么做。到目前为止,我只是检查数字并确保它们是数字。我很确定我应该在这里添加一些东西,

homeNum.addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent e) {
            String homeValue = homeNum.getText();
            if (e.getKeyChar() >= '0' && e.getKeyChar() <= '9' || e.getKeyChar() == '-' || e.getKeyChar() == '\b') {


                      homeNum.setEditable(true);
                        message.setText("");

        } 
            else {
                homeNum.setEditable(false);
                message.setText("* Enter only numeric digits(0-9)");

                 }

        }

我正在考虑添加类似这样的内容,但问题是如果我也想删除它也无法删除。

 if(homeValue.length()==3)
    {
       homeNum.setText(homeValue+"-");
    }

任何帮助/指点将不胜感激,谢谢。

最佳答案

您可以这样做的一种方法是.. 您监视按键被按下的次数。当它达到 3 时,您将 setText 设置为您拥有的任何内容加上 - 现在还有其他事情需要考虑,比如当退格键被按下时,您需要从计数器中减去一个而不是添加。

对大约 3-4 个特殊键执行相同操作(例如在按下 enter 时不添加任何内容)。

如果您看一下 SwingWorker,您可以在后台执行这些操作。

祝你好运

关于java - 在电话号码后添加 "-",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835713/

相关文章:

java - 为什么这个 SimpleDateFormat 不能解析这个日期字符串?

java - 创建的itext、pdf无法打开

java - 可从所有 Servlet 访问数据

java - java中退出while循环

Java:具有彼此实例的类

java - 检查一个字符串是否包含在另一个字符串中时的 StackOverflow

java - SonarQube 自定义插件,启动失败

Java 比较继承

java - 将箭头键监听器添加到实现 ActionListener 的 Jframe

java - XJC - 它是可扩展的吗?