仅在二进制文件中使用javafx中的TextArea

时间:2016-08-08 06:43:06

标签: javafx-8 custom-controls

我有一个简单的Binary to ASCII Converter,我想限制二进制TextArea只接受0和1.任何想法如何在javafx中执行此操作

1 个答案:

答案 0 :(得分:1)

您可以使用TextFormatter接受或拒绝更改:

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;
}));