|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。
JavaBean的属性与一样平常Java程序中所指的属性,大概说与一切面向对象的程序计划言语中对象的属性是一个观点,在程序中的具体表现就是类中的变量。在JavaBean的计划中,依照属性的分歧作用又细分为四类:单值属性;索引属性;联系关系属性;限定属性。
本文次要先容怎样利用PropertyChangeSupport类来撑持联系关系属性事务的触发。
1.联系关系属性
联系关系属性,也称之为绑定属性。绑定属性会在属性值产生变更时,关照一切相干的监听器。为了完成一个绑定属性,必需完成两个机制。
1)不管什么时候,只需属性的值产生变更,该bean必需发送一个PropertyChange事务给一切已注册的监听器。该变更大概产生在调用set办法时,大概程序的用户做出某种举措时。
2)为了使感乐趣的监听器可以举行注册,bean必需完成以下两个办法:
voidaddPropertyChangeListener(PropertyChangeListenerlistener);
voidremovePropertyChangeListener(PropertyChangeListenerlistener);
2.利用PropertyChangeSupport办理监听器
能够经由过程java.bean包下的PropertyChangeSupport类来办理监听器。要利用这个类,bean必需有一个此类的数据域。
privatePropertyChangeSupportchanges=newPropertyChangeSupport(this);
如许就能够将增加和移除监听器的义务交给这个对象。
publicvoidaddPropertyChangeListener(PropertyChangeListenerlistener){
changes.addPropertyChangeListener(listener);
}
publicvoidremovePropertyChangeListener(PropertyChangeListenerlistener){
changes.removePropertyChangeListener(listener);
}
当bean的属性产生变更时,利用PropertyChangeSupport对象的firePropertyChange办法,它会将一个事务发送给一切已注册的监听器。该办法有三个参数:属性的名字、旧的值和新的值。属性的值必需是对象,假如是复杂数据范例,则必需举行包装。
changes.firePropertyChange("ourString",oldString,newString);
一切注册的监听器完成PropertyChangeListener接口,该接口中只要一个办法。
publicvoidpropertyChange(PropertyChangeEvente);
当bean的属性值产生变更时,该办法中的代码就会被触发。可以经由过程
e.getOldValue();
e.getNewValue();
来失掉changes.firePropertyChange("ourString",oldString,newString);中的oldString和newString。
3.为何要利用PropertyChangeSupport
利用这个类办理监听器的优点是,它是线程平安的。假如利用一个轮回体来setBean的属性,则这个类能够包管一切监听器实行触发事务的有序。
另有一个优点是,这个类撑持fire带索引的属性改动事务(详见java.bean.IndexedPropertyChangeEvent)。此时向注册的监听器发送一个PropertyChangeEvent的办法为:
voidfireIndexedPropertyChange(StringPropertyName,intindex,ObjectoldValue,ObjectnewValue);
<p>
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... |
|