0
Ich habe ein einfaches Binary to ASCII Converter, und ich will die Binary TextArea- begrenzen nur 0 und 1 eine Idee zu akzeptieren, wie kann ich dies tun in javafxBinary nur TextArea- in javafx
Ich habe ein einfaches Binary to ASCII Converter, und ich will die Binary TextArea- begrenzen nur 0 und 1 eine Idee zu akzeptieren, wie kann ich dies tun in javafxBinary nur TextArea- in javafx
Sie einen TextFormatter
verwenden können annehmen oder ablehnen Änderungen:
TextArea ta = new TextArea();
final Pattern binary = Pattern.compile("^[01]*$");
final Predicate<String> tester = binary.asPredicate();
ta.setTextFormatter(new TextFormatter<>(change -> {
if (!tester.test(change.getControlNewText())) {
return null;
}
return change;
}));
Beachten Sie, dass dies nur eine einzige Zeile erlaubt. Wenn Sie mehrere Zeilen zulassen möchten, müssten Sie den regulären Ausdruck ändern (etwas wie 'final Pattern binary = Pattern.compile (" \\ A [01 \\ n] * \\ Z ");' sollte funktionieren). – Itai
yup aber ich denke, da die TextArea wird nur halten 01 '[01] +' kann gut funktionieren – Mak
Das würde bedeuten, dass der Benutzer die TextArea jedoch nicht löschen kann. Wenn das in Ordnung ist, dann ist "[01] +" gut, aber normalerweise ist es wünschenswert, eine vollständig leere Eingabe zuzulassen. – Itai