Как иметь значение по умолчанию для jTextField, который проверяется? - PullRequest
2 голосов
/ 05 июня 2011

Я хочу проверить ввод jTextField, а также установить значение по умолчанию. Насколько я понимаю, этот код должен работать, но значение по умолчанию никогда не появляется. Если я удаляю код проверки, значение по умолчанию отображается так, как должно. Есть ли способ, которым я могу иметь свою проверку ввода И также иметь значение по умолчанию?

   myInput.setDocument(new javax.swing.text.PlainDocument(){
        @Override
        public void insertString(int offs, String str, javax.swing.text.AttributeSet a)
        throws javax.swing.text.BadLocationException {
            if((getLength() + str.length()) <= 15
                && str.matches("[0-9\\.]"))
            super.insertString(offs, str, a);
        }
    });
    myInput.setText("127.0.0.1");

1 Ответ

1 голос
/ 05 июня 2011

Возможно, причина в том, что setText ("127.0.0.1") заставляет insertString вызываться с параметром str "127.0.0.1", который не соответствует тому регулярному выражению, которое вы используете. Поэтому я думаю, что вы можете заменить его на «[0-9 \.] +», Который будет соответствовать этому.

...