![](/img/trans.png)
[英]How to create swing Tabbed Pane application using the Netbeans GUI editor
[英]Using the NetBeans GUI editor, how can I create a JTextField or JFormattedText field that must be validated against a regular expression?
我有一个正则表达式 ( \d{4}\w{3}(0[1-9]|[12][0-9]|3[01])([01][0-9]|2[0-3])([0-5][0-9]){2}
) 当用户单击“确定”按钮或将光标移动到另一个字段时,我需要验证文本字段的输入。 我知道该怎么做,编写代码。 但是,我感兴趣的是是否可以让 NetBeans GUI 编辑器为我完成一些工作,特别是因为我正在从 Eclipse 转向 NetBeans 作为我选择的 IDE,我想充分利用它提供的工具。
打开 JTextField 的属性,在属性选项卡中查找 inputVerifier。 打开它
现在将要求您介绍 InputVerifier 代码。
ftf2.setInputVerifier(new InputVerifier() {
public boolean verifyText(String textToVerify) {
Pattern p = Pattern.compile("your regexp");
Matcher m = p.matcher(textToVerify);
if (m.matches()) {
setComponentValue(textToVerify);
return true;
}
else {
return false;
}
}
});
我还没有编译这段代码,所以可能包含错误。 但我想你明白了;)
这不是最简单的解决方案,但它是一个非常强大的解决方案:尝试spring rich client ,可以通过以下方式进行验证:
public class Validation extends DefaultRulesSource {
private Constraint NAME_VALIDATION = all(new Constraint[]{minLength(3), required()});
public void load() {
addRules(new Rules(Person.class) {
@Override
protected void initRules() {
add("name", NAME_VALIDATION);
}
});
...
并且可以通过以下方式轻松创建 gui 表单:
TableFormBuilder formBuilder = getFormBuilder();
formBuilder.add("firstName");
formBuilder.add("name");
formBuilder.row();
例如,在此处查看验证或在此处查看更多信息。 我在我的开源项目中成功地使用了它......
通过这种方式,您可以创建一个更通用的 swing 组件,该组件可以添加到netbeans 组件面板中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.