我需要有一个JFormattedTextField,它仅允许输入##-### **,其中连字符始终出现在文本字段中,并且用*表示的最后2个字符可以是2个字母( az / AZ)或完全不显示. 我知道如何解决部分问题,但不确定如何将所有内容整合在一起.我知道使用##-### **的MaskFormatter将给我始终存在的连字符,
我希望在DocumentFilter上有这样的方法 public void replaceUpdate(int offset, int length, String text) { try { super.replace(byPass, offset, length, text, null); } catch (BadLocationException ex) { //error } } 目
我有一个JTextArea,只需要接受数字.这是我的代码: DocumentFilter onlyNumberFilter = new AxisJTextFilter(); final JTextArea areaTextoXMin = new JTextArea(String.valueOf(xMin)); ((AbstractDocument)areaTextoXMin.getDocument()).setDocumentFilter(onlyNumberFil
我认为这必须是代码中的一个简单错误或我的误解,但我无法获得DocumentFilter来检测insertString事件.下面是一个用于大写字母的简单过滤器,但这并不像看起来似乎没有调用insertString(..)方法那么重要! 为什么没有调用DocumentFilter的insertString(..)方法? 过滤器应用于顶部的JText
我已经实现了一个DocumentFilter子类,当我在JTextComponent中键入文本时,调用了filter的replace()方法,而不是insertString()(从不调用).知道为什么会这样吗?解决方法:通过使用Document.insertString(…)方法直接更新Document时,将调用insertString(…)方法. 当用户输入文本或用户调