![](/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.