我希望用户输入时间,例如12:00,但是我需要弄清楚一些事情,我实在是太可惜了。

  • 我可以将文本限制为5个字符吗?
  • 我可以在代码中嵌入一个冒号,以便用户无法删除它吗?
  • 最后,我可以接受该代码并验证它只是数字(当然忽略了冒号)
  • 最佳答案

    答案是使用JFormattedTextFieldMaskFormatter

    例如:

    String mask = "##:##";
    MaskFormatter timeFormatter = new MaskFormatter(mask);
    JFormattedTextField formattedField = new JFormattedTextField(timeFormatter);
    

    Java编译器将要求您在创建MaskFormatter时捕获或抛出ParseException,因此请务必执行此操作。

    09-26 06:08