/ / jTextField-Validierung für Zahlen und Zeichenfolgen? - Java, Validierung, Textfeld

jTextField Validierung für Zahlen und Strings? - Java, Validierung, Textfeld

Ich möchte meine eigene Validierung für das Textfeld in Java festlegen. Angenommen, der Benutzer soll Werte wie eingeben 10d2-5, 100d2,23d5 und nicht mögenaa25-22. Ich könnte dies mit MaskFormatter tun, aber das Problem ist, dass wenn ich sein Format auf (## d #) setze, es keine dreistelligen Zahlen akzeptiert. Hier ist mein Code:

JFormattedTextField textField = new JFormattedTextField();
MaskFormatter dateMask = new MaskFormatter("##.#");
dateMask.install(textField);

Antworten:

0 für die Antwort № 1

Hier ist ein InputVerifier-Beispiel, mit dem Sie beginnen sollten:

import java.text.ParseException;
import javax.swing.InputVerifier;
import javax.swing.JComponent;
import javax.swing.JFormattedTextField;
import javax.swing.JTextField;

public class Test {

public static void main(String[] args) throws ParseException
{

JTextField textField = new JFormattedTextField();
textField.setInputVerifier(new MyInputVerifier());
}
}

class MyInputVerifier extends InputVerifier {

public MyInputVerifier() {}

@Override
public boolean verify(JComponent input) {

JTextField textField = (JTextField) input;
String validate = textField.getText();
if (validate !=null /* replace with relevant tests cosde */) {

return true;
} else {

return false;
}
}
}