最近不知道吃错了什么药,发了很多netbeans的文章,netbeans真的不错。第4篇提到了netbeans的swing验证框架。它将在下个版本也就是6.9会集成进入netbeans。现在swing验证框架早已可以使用。目前版本是0.4版本,地址是http://kenai.com/projects/simplevalidation/downloads
它是专为netbeans平台开发的,因此,netbeans极有可能向平台方向发展,帮助人们更好的开发swing应用。
当然netbeans的类库都是swing的,因此可以拿来普通使用。之所以用平台,它可以提供很多额外的好处。
下面转下官网的一个示例:
该示例就是使用普通的swing项目(我建立的)来演示,其中就使用了netbeans平台API:
1 新建项目,选择Java类别下的Java应用程序,选择生成主类,取名为Main.java。
2 拷贝如下代码:
package basicdemo;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.netbeans.validation.api.builtin.Validators;
import org.netbeans.validation.api.ui.ValidationGroup;
import org.netbeans.validation.api.ui.ValidationPanel;
public class Main {
public static void main(String[] args) {
//This is our actual UI
JPanel inner = new JPanel();
JLabel lbl = new JLabel("Enter a URL");
JTextField f = new JTextField();
f.setColumns(40);
//Setting the component name is important - it is used in
//error messages
f.setName("URL");
inner.add(lbl);
inner.add(f);
//Create a ValidationPanel - this is a panel that will show
//any problem with the input at the bottom with an icon
ValidationPanel panel = new ValidationPanel();
panel.setInnerComponent(inner);
ValidationGroup group = panel.getValidationGroup();
//This is all we do to validate the URL:
group.add(f, Validators.REQUIRE_NON_EMPTY_STRING,
Validators.NO_WHITESPACE,
Validators.URL_MUST_BE_VALID);
//Convenience method to show a simple dialog
if (panel.showOkCancelDialog("URL")) {
System.out.println("User clicked OK. URL is " + f.getText());
System.exit(0);
} else {
System.err.println("User clicked cancel.");
System.exit(1);
}
}
}
3 添加依赖类库,因为需要NBundle实现资源国际化,因此需要nbutil库。
在库上点击右键,添加jar,导航到netbeans安装目录——platform11(6.8版的是11,早期版本比这个数字小),找到——lib目录——添加org-openide-util.jar
4 运行主类:
运行后,发现,验证框架将创建按钮并控制按钮是否可以使用。也就是说,开发人员将只需关注业务部分就行了。这和netbeans的一些组件思想类似,比如向导组件,也是提供上一步 下一步等按钮,还有最基本的面板,只需扩展需要的就可以了,其他都是重用的。
当输入不合法时,按钮会禁用,只有合法后才能启用。