在Netbeans中使用DataBinding

  最近在做一个登录界面,想把它做得好看些~ 于是想到了用DataBinding。

以下是在portField中应用databinding的一个简图

端口正常时无提示

 

当输入的端口号不对时 statusField 提示有错:

有错误时提示

 

这个功能是这样实现的:

 

step 1 : 先把外壳“画好“。

step 2 : 在portField上右键 Binding-->text,

右键,Binding.text

 

step 3: 在打开了Binding portField.text 之后。

这里有一个之前一直让我很无奈的问题出来了: 在BindingSource中,你选不了自己定义的变量,只能是你在“画画”的时候,matisse自己画上去的那些东西,比如field呀,label呀。。。大家在日常使用时很少直接用到Swing的component之间直接绑定。。。。

但在看了Netbeans 自己的那些DataBinding的例子(ClientEditor)之后,我才发现这其中还真是有玄机!!!
那就是在下拉表中最后一个:Form

这个Form是啥~?? 就是这个容器它自己!

Netbeans中,就是用这个Form指代窗口它自己,来给自己定义的变量一个入口:

以下上图说明:

 Form代表容器,用EL直接指定自己的变量

对应的代码如下:

 

 现在已经把两个东西绑定起来了,但是一个是String,一个是int ,需要一个Converter.

另外port还需要一个Validator来验证输入合法。

 

Step 4: 为portField添加Converter

 

当然,你首先需要选一个PortConverter类,它要继承Converter接口。

你只要实现S---->T 和一个T----->S 的方法就行了。

 

代码如下:

 

 

当然,你还需要在Frame中加入一个Converter对象

 

然后在Design界面下把这个converter选中:

 

在portFeidl中右键,Binding --> text  在上面选Advance。

 

填入portConverter

 

ok. 把Converter填上了。

 

Step 5: 填加 Validator

 

其实我也不太懂这个Validator中Result的作用形式。只是感觉特别好用。

我也没怎么深入看这个东西,只是把Netbeans中ClientEditor它自己的这个Validator稍微改了改就成了PortValidator

还是看代码吧。

 

 

然后还是像添加Converter一样,先造一个对象,再在Binding里面选中。

 

step 6 : 把Validator返回的Result用到Statul Label上。

 

这个地方Netbeans的这个Sample非常非常好!! 它提供了一个自己写的Listener,,它接受一个JLabel,然后当验证成功了或者失败了,它直接输出到JLabel上。 是居家旅行,编写代码,提示消息的必备良药~~~~:)嘿嘿。

不说了,上代码!!!!:

 

 

最后,把这个listener加到BindingGroup上

 

如果自己没有试出来的话,那就把Netbeans的那个ClientEditor样例拿出来看看~ 。保会~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值