`
yyzhpq
  • 浏览: 301500 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JavaBean 设置关联属性

    博客分类:
  • j2ee
阅读更多

在一个Bean中设置关联属性的基本步骤如下:

调入java.beans 包,以便访问该包中所定义的一些方便类。MyButton中的import语句的使用方法如下:

import java.beans.*;


实例化java.beans.PropertyChangeSupport类。

private PropertyChangeSupport changes = new
    PropertyChangeSupport(this);

MyButton创建了一个名为changes的新对象,它是PropertyChangeSupport类的实例,变量changes保存的是监听对象的集合,一旦关联属性发生变化,就会通知到这些对象。该变量定义了两个支持的方法: addPropertyChangeListener和 removePropertyChangeListener,这两个方法提供了公共的接口,可以让感兴趣的监听者对MyButton进行注册。


实现由PropertyChangeSupport 类定义的方法。
PropertyChangeSupport类包含了添加和移去监听对象的方法,尤其是PropertyChangeListener对象。AddPropertyChangeListener方法添加一个新的监听对象到表中,而removePropertyChangeListener方法则从表中移去一个监听对象。PropertyChangeSupport 类也包含第三个方法:firePropertyChange,该方法把PropertyChangeEvent对象发送给感兴趣的监听者。MyButton包含的实现添加和移去监听者方法的代码如下:
注意:参数l 表示property change listener Bean,该Bean可以作为注册或者移去其兴趣。

public void addPropertyChangeListener(
    PropertyChangeListener l) {
      changes.addPropertyChangeListener(l);
}public void removePropertyChangeListener(
  PropertyChangeListener l) {
   changes.removePropertyChangeListener(l);
}


修改Bean的关联属性的setter方法。
对于那些打算成为关联属性的属性,可以修改Bean的setter方法,以便包含当属性值变化时就发送事件的代码。MyButton在每一个设置新属性值的方法内调用firePropertyChange方法。例如,当一个应用程序或者用户改变了按钮的字体时,这个动作就执行了MyButton.setFont方法。因为firePropertyChange方法对于变化了的属性的新值和旧值都需要, setFont方法首先通过调用getFont方法获得旧值,之后设置新值,改变了原先的值之后,再调用changes.firePropertyChange方法通知感兴趣的监听者。changes.firePropertyChange方法传递了三个参数:发生变化的属性名,属性的旧值,该属性的新值。

public void setFont(Font f) {
      Font old = getFont();
      super.setFont(f);
      sizeToFit();
      changes.firePropertyChange(
"font", old, f);
}

对于firePropertyChange方法来说,它完成了哪些事情?该方法把它的三个参数绑定到一个PropertyChangeEvent对象中。之后把PropertyChangeEvent对象作为参数,调用propertyChange方法。把PropertyChangeEvent对象传递给每个注册过的监听者。记住:propertyChange把属性的旧值和新值作为对象值对待。这一点很重要,如果你的属性值是个简单类型,你就必须对该类型重新定义为对象,例如,一个简单的整数类型,在调用firePropertyChange之前,就要转化为java.lang.Integer。
记住:对于关联属性来说,首先是属性值发生变化,之后才发送属性变化事件。

分享到:
评论

相关推荐

    注解配置 javabean hibernate 关联关系

    1. `@OneToOne`: 用于配置一对一关联,可以使用`mappedBy`属性来指定另一方的引用字段。 2. `@OneToMany`: 配置一对多关联,通常配合`@JoinColumn`或`@JoinTable`使用,用于指定外键列。 3. `@ManyToOne`: 多对一...

    使用注解javaBean关联数据库字段

    在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中嵌入信息的方式,这些信息可以被编译器、JVM或其他...合理利用注解,可以更好地实现JavaBean与数据库字段的关联,是现代Java开发不可或缺的一部分。

    图示ireport中使用javabean作数据源开发基于jasperreports报表过程

    - 接着,设计报表模板,添加所需的文本框、表格等元素,并将它们与JavaBean的属性关联。 - 编写Java代码来执行报表,这可能涉及到一个查询方法,从数据库或其他来源获取数据并转换为JavaBean集合。 - 最后,运行...

    JavaBean知识学习

    3. 使用`<jsp:setProperty>`和`<jsp:getProperty>`标签设置和获取JavaBean的属性值。 4. 调用JavaBean的方法执行业务逻辑。 JavaBean的优势在于它们提高了代码的可复用性和可维护性。它们将数据和业务逻辑分离,...

    jasperreport+ireport创建javaBean多数据源报表

    1. **设计报表**: 使用ireport打开.jrxml文件,设计报表布局,添加字段和计算字段,关联JavaBean属性。 2. **配置数据源**: 在ireport中,可以设置JavaBean数据源,指定JavaBean类名和属性映射。 3. **生成.jasper...

    清华大学javaBean课件

    JavaBean的属性类似于类的私有或受保护的成员变量,但外部访问这些属性需通过一对访问方法,即获取器(getter)和设置器(setter)。根据特性,JavaBean的属性可以分为以下四类: 1. Simple属性:具有一个get和set...

    javabean课程资源

    - 数据绑定:将用户界面元素的数据与JavaBean的属性关联。 - 数据存储:作为持久化层的中间对象,保存和加载用户数据。 - 业务逻辑封装:实现复杂的功能,如计算、验证等。 - 页面跳转控制:在MVC架构中,JavaBean...

    ireport+javabean实现可视化报表

    开发者可以通过getter和setter方法来读取和设置javabean中的属性,从而在报表中展示这些数据。 在这个项目中,通过以下步骤实现了报表的可视化: - **设计报表模板**:首先,开发者使用ireport来设计报表的布局和...

    Java面向对象(基础)- 属性赋值过程、JavaBean和UML类图

    例如,通过setter方法动态设置属性值。 二、JavaBean理解 JavaBean是符合特定规范的Java类,通常用于数据封装。它具有以下特点: - 公共类。 - 具有一个无参构造函数。 - 属性私有化,提供getter和setter方法进行...

    jsp留言板(jsp+JavaBean)

    2. 方法:`getters`和`setters`用于访问和设置这些属性的值;`saveMessage()`用于将留言保存到数据库;`loadMessages()`用于从数据库加载所有留言。 在JSP页面中,我们可以通过以下方式使用JavaBean: ```jsp ``...

    javabean 实例

    以上JavaBean实例展示了如何利用面向对象编程的原则(如封装、继承、关联关系)来设计和实现类。通过将数据和行为封装在一起,提高了代码的可读性和可维护性。在实际项目中,这些JavaBean类可以作为模型层的一部分,...

    ireport中table使用javaBean数据源

    首先,我们需要创建一个JavaBean类,包含与报表相关联的数据字段。例如,如果报表要展示员工信息,可以创建一个`Employee`类,包含`id`、`name`、`department`等属性,并提供getter和setter方法。 3. **设置数据源...

    第六单元 在JSP中应用JavaBean.pdf

    - **`<jsp:setProperty>`**:设置JavaBean的属性值。 - **`<jsp:getProperty>`**:获取JavaBean的属性值。 示例代码如下: ```jsp ``` 这里,`<jsp:useBean>`标签创建了一个名为`myBean`的JavaBean实例;`...

    表单数据自动封装到javaBean中

    在表单数据封装过程中,这些方法会被用来设置和获取属性值。 4. **前端框架集成**: 当前,许多Web应用采用前端框架(如Angular、React或Vue.js)进行视图层的构建。这些框架同样支持数据绑定,可以与后端的...

    使用javabean创建您的网上日历本(2)_jsp实例

    在`HtmlCalendarNotePad`类中,我们定义了一些属性(例如年份、月份等)以及用于设置和获取这些属性的方法(如`setYear`、`getYear`等)。 #### 2. **属性与方法** - **年份和月份的管理**: - `public void ...

    13_JPA详解_JPA中的多对多双向关联实体定义与注解设置.zip

    本资料“13_JPA详解_JPA中的多对多双向关联实体定义与注解设置”专注于讲解JPA如何处理多对多双向关联关系,这是数据库设计中常见的一种复杂关联类型。下面我们将详细探讨这一主题。 首先,我们需要理解多对多关联...

    新闻文章NTsky新闻发布(提供JavaBean)v1.0-ntskynewsv1.0javabean

    5. **MVC模式**:在新闻发布系统中,JavaBean可能与Model层关联,配合视图(View)和控制器(Controller)实现MVC(模型-视图-控制器)架构。Model负责业务逻辑和数据管理,View负责展示数据,Controller则处理用户请求...

    07+第7章+javaBean.rar

    1. **视图-模型(View-Model)绑定**:在MVC架构中,JavaBean常作为模型层,它的属性可以直接与视图组件关联,方便数据的展示和用户输入的处理。 2. **EJB(Enterprise JavaBeans)组件**:在企业级开发中,JavaBean...

    JSP+JavaBean+MySQL编写的BBS论坛(简易版)

    JavaBean遵循一定的规范,如公开默认构造器、属性和getter/setter方法,使得它们可以被方便地在JSP中使用,或者通过其他Java代码进行操作。 **MySQL数据库** MySQL是一种关系型数据库管理系统,被广泛用于存储和...

    NTsky新闻发布(提供JavaBean)v1.0-ntskynewsv1.0javabean.zip

    3. 分类管理:新闻通常会被分类管理,JavaBean可以封装分类信息,支持创建、修改和删除分类,以及关联新闻与分类的关系。 4. 操作日志:为了追踪系统的操作记录,可能会有专门的日志JavaBean来记录用户的操作行为,...

Global site tag (gtag.js) - Google Analytics