-1

在 controlP5 库中,我需要禁止将某些字符输入到textField.

我找到了一段代码,您在其中指出了要禁止的内容,但我不知道如何强制执行这些条件(可能是通过模拟擦除按钮?)。

这就是我想列入白名单的内容:在此处输入图像描述

4

1 回答 1

2

ControlP5 为数字提供内置白名单过滤器:整数 (0-9) 和浮点数(即整数和.):

textField.setInputFilter(ControlP5.INTEGER);

textField.setInputFilter(ControlP5.FLOAT);

查看您的屏幕截图,您似乎也想加入白名单,。自定义过滤器是不可能的,即使extending由于Textfield类的设置方式而导致类(关键成员是protectedprivate)。

因此,您可以使用此间接选项来另外列入白名单,

@Override
public void keyPressed(KeyEvent event) {
    if (event.getKey() == ',') {
        textField.setText(textField.getText() + ',');
    }
}

,当处理检测到正确的按键事件时,通过将其附加到文本字段的当前文本而将其列入白名单。

于 2020-07-20T15:21:11.180 回答