如何使用"Simple Validation API"在 Netbeans 中验证 Java Swing 表单



我已经下载并安装了"简单验证"NetBeans 插件,但不知道如何使用它,因为我找不到它在哪里(在工具箱中)。

任何人都可以告诉我如何在哪里可以找到它以及在表单字段上应用验证的步骤是什么。

我还看到有一个验证API JAR文件,我下载并把它包含在我的项目中。它提供了 3 个控件(或者我应该说的任何内容);"验证面板"、"验证实用程序"和"问题"。我在一个网站上看到了一个例子,并遵循了它。我拖放了"验证面板"并编写了代码,如以下代码所示

final ValidationGroup group = validationPanel1.getValidationGroup();
group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING,
Validators.NO_WHITESPACE,
Validators.REQUIRE_VALID_INTEGER);

但似乎JAR文件包含不完整的文件或可能存在其他问题,因为它给出了错误:找不到符号:变量"验证者"

对不起,我认为这是两个问题,但请帮助我如何解决它。
提前致谢

你只需要"ValidationPanel"。

它现在似乎被称为"org.netbeans.validation.api.builtin.stringvalidation.StringValidators"。

final ValidationGroup group = validationPanel1.getValidationGroup();
group.add(txtUserName, StringValidators.REQUIRE_NON_EMPTY_STRING,
StringValidators.NO_WHITESPACE,
StringValidators.REQUIRE_VALID_INTEGER);

您对这些行所做的是创建一个验证组并添加一个包含 3 个验证规则的字段,但您仍然需要一种方法在屏幕上显示它。

简单验证 API 提供了 2 个我知道的内置 UI 助手,您可以使用 org.netbeans.validation.api.ui.swing.ValidationPanelorg.netbeans.validation.api.ui.swing.SwingValidationGroup.createProblemLabel() ,否则您必须使用 org.netbeans.validation.api.ui.ValidationUI 界面实现自己的 UI 小部件。

  • ValidationPanel创建一个JPanel,用于按住输入控件以及"确定"和"取消"按钮以及用于显示错误消息的标签。

  • 另一方面,您拥有最简单的实现ProblemLabel,对我来说,它在最常见的情况下都有效,这里有一个小例子:

        SwingValidationGroup group =  SwingValidationGroup.create();;
        group.add(txtUserName, Validators.REQUIRE_NON_EMPTY_STRING,
        Validators.NO_WHITESPACE,
        Validators.REQUIRE_VALID_INTEGER);
        JComponent validationLabel = group.createProblemLabel();
        contentPanel.add(validationLabel);
    

这样,您就可以将validationLabel添加到任何其他容器(如JPanel)或表单本身,在这种情况下,我有一个名为contentPanel的面板,我将问题标签附加到该面板。

希望这能澄清一点,因为这是一个很棒的 API,文档很差。

import了所需的包吗?

最新更新