我使用JAVA开发项目 也刚刚只有半年多的时间吧 根本提不上什么经验 总是从网上找别人的代码和例子看 但自己却从未上传过什么东西给别人看 而且最近发现找到的精华都是别人的BLOG里写的内容 一时感觉不错 我也把自己的学习记录搞上去吧
首先这个例子 我做了4个类 分别是
TestListener类 这个类是我们自己写的监听服务
1 import java.beans.PropertyChangeListener;
2 import java.beans.PropertyChangeSupport;
3
4
5 public class TestListener{
6
7 PropertyChangeSupport listeners = new PropertyChangeSupport(this);
8
9 //添加监听器
10 public void addPropertyChangeListener(PropertyChangeListener l) {
11 listeners.addPropertyChangeListener(l);
12 }
13
14 //触发属性改变的事件
15 protected void firePropertyChange(String prop, Object old, Object newValue) {
16 listeners.firePropertyChange(prop, old, newValue);
17 }
18
19 //触发结构改变的事件
20 protected void fireStructureChange(String prop, Object child) {
21 listeners.firePropertyChange(prop, null, child);
22 }
23
24 //删除监听器
25 public void removePropertyChangeListener(PropertyChangeListener l) {
26 listeners.removePropertyChangeListener(l);
27 }
28 }
TestPropertyChangeListener类 这个是一个监听器类 是用来监听TestListener类的
1import java.beans.PropertyChangeEvent;
2import java.beans.PropertyChangeListener;
3
4public class TestPropertyChangeListener implements PropertyChangeListener{
5
6 public void propertyChange(PropertyChangeEvent evt) {
7 System.out.println(evt.getNewValue());
8 System.out.println(evt.getOldValue());
9 System.out.println(evt.getPropagationId());
10 System.err.println(evt.getPropertyName()); //这个就是接受过来的标识
11 Object j = evt.getSource(); //经过转型可以得到 完整的Bean对象
12 System.out.println("JY:PropertyChangeListener");
13
14
15 }
16
17}
Bean类 这个类很简单的 就是很简单的JAVABEAN
1public class Bean extends TestListener{
2
3 private String name;
4 private String pwd;
5 public String getName() {
6 return name;
7 }
8 public void setName(String name) {
9 String old = this.name;
10 this.name = name;
11 firePropertyChange("name",old,name);
12 //第一个参数 是标识号 我们可以通过这个来判别是哪里触发 了事件
13
14 }
15 public String getPwd() {
16 return pwd;
17 }
18 public void setPwd(String pwd) {
19 String old = this.pwd;
20 this.pwd = pwd;
21 firePropertyChange("pwd",old,pwd);
22 }
23
24}
Test类 执行类
1public class Test {
2
3 public static void main(String[] args) {
4 Bean n = new Bean();
5 //把我们做好的 监听器 增加给javabean对象
6 n.addPropertyChangeListener(new TestPropertyChangeListener());
7 //当SETNAME的时候 就会触发 监听器 中的方法
8 n.setName("a");
9 n.setPwd("sdf");
10 }
11}
我自己想了一下 其实JAVA所有的监听机智 好象都是这样子实现的 比如按钮那些
我开始特别不理解 按钮的那些事件是怎么回事 现在终于有点明白了
这是我写的第一篇东东 虽然都是很浅的东西 但还是希望大家能够喜欢 并且对大家有点帮助
分享到:
相关推荐
### JavaBean中的事件处理机制详解 #### 一、引言 在Java开发中,JavaBean是一种遵循特定编码规范的对象,通常用于封装数据属性以及相关的业务逻辑。JavaBean的设计模式不仅支持封装,还提供了事件处理机制,这...
- **触发事件**:当发生特定条件时,JavaBean会调用相应的监听器方法。 #### 三、案例研究 为了更好地理解JavaBean的使用,我们可以通过一个案例来探讨JavaBean的实际应用。 ##### 1. 利用IDE开发工具的好处 - *...
5. **事件处理**:JavaBean可能支持事件监听机制,允许其他组件订阅并响应Bean的特定事件。 在Java开发中,JavaBean广泛应用于MVC(Model-View-Controller)架构,特别是在Web应用中。它们可以作为模型层的实体,...
3. **事件和监听器**: - **事件模型**:JavaBean可以发布和处理事件,比如用户界面组件中的点击事件。 - **监听器接口**:通过实现特定的监听器接口,如`ActionListener`,类可以注册为事件的接收者。 4. **...
5. **标准命名**:属性、方法和事件的命名应遵循一定的标准,以确保与其他JavaBean的兼容性。 6. **可读性**:代码应该清晰易懂,注释充分,以利于其他开发者理解其用途和功能。 在这个"JavaBean示例"中,我们可以...
- **事件处理**:JavaBean可以支持事件监听机制,与其他组件进行交互。 3. **JavaBean的创建**: 创建JavaBean时,一般遵循以下步骤: - 定义一个公共类,类名通常以"Bean"结尾。 - 在类中定义私有属性,用于...
JavaBeans可以支持事件模型,允许其他组件监听并响应JavaBean的状态变化。例如,按钮组件可能触发点击事件,而事件监听器则处理这些事件。 **5. JavaBeans与HTML表单** 在给定的文件名中,"form.html"和"form_chuli...
JavaBean事件处理机制是其核心特点之一,允许组件作为事件源发出事件,被其他组件(如事件监听者)接收并响应。事件监听者通过实现`EventListener`接口,当事件发生时,事件状态对象(通常是`EventObject`的子类,如...
同时,该博客可能还会探讨一些高级特性,如JavaBean事件处理、属性监听器等。 总之,JavaBean是Java开发中不可或缺的一部分,熟练掌握JavaBean的使用将极大地提升你的开发效率和代码质量。通过不断学习和实践,你将...
2. **事件处理**:在JavaBean记事本中,可能会涉及到事件监听和处理,例如点击菜单项或按钮触发相应的操作。这通常通过实现Listener接口(如ActionListener)并添加到事件源(如JButton)上来实现。 3. **Swing组件...
JavaBean可以支持事件监听机制,允许其他组件注册为监听者,当JavaBean的状态发生改变时,可以通知这些监听者。这在用户界面组件中尤其常见,如按钮点击事件。 4. **JavaBean的序列化** JavaBean默认支持序列化,...
4. **事件处理**:JavaBean可以支持事件模型,允许它们发送和接收事件。例如,按钮组件可以发送点击事件,而监听器可以接收并处理这些事件。这通常通过实现`EventListener`接口和使用`addXXXListener`和`...
3. **Introspector组件**:Java内置的Introspector类可以自动发现JavaBean的属性、事件和方法,这对于构建用户界面或自动化工具非常有用。 4. **BeanInfo类**:扩展JavaBean的元数据信息,可以自定义默认的行为和...
2. **事件模拟**:允许开发者触发 JavaBean 的属性变化事件,观察相应的处理逻辑。 3. **可视化设计**:可能包含一个可视化界面,使得开发者可以通过拖拽方式创建和编辑 JavaBean,类似于 IDE 中的 Bean Inspector。...
对于Constrained属性,JavaBean组件使用VetoableChangeSupport辅助类来触发监听器接收的事件。监听器需实现VectorChangeListener接口,并通过`addVetoableChangeListener()`和`removeVetoableChangeListener()`方法...
Listener监听器是一种特殊的类,用于监听 web 应用程序中的 ServletContext、HttpSession、ServletRequest 等域对象的创建和销毁事件,以及监听这些域对象中的属性发生修改的事件。Listener监听器可以分为三类: 1....
7. **事件处理**:JavaBean支持事件驱动编程,当用户在界面上触发某个操作(如点击按钮),相关的JavaBean可以通过监听器(Listener)接收到事件并执行相应处理,比如提交更改到数据库。 8. **设计模式应用**:在...
- JavaBeans可以实现事件监听机制,通过发布和订阅事件来与其他组件通信。例如,`ActionListener`接口常用于按钮点击事件。 6. **Introspector类**: - Java的`Introspector`类可以用来获取JavaBean的元信息,如...