一个Bound属性是指当该种属性的值发生变化时,要通知其它的对象。每次属性值改变时,这种属性就点火一个PropertyChange事件(在Java程序中,事件也是一个对象)。事件中封装了属性名、属性的原值、属性变化后的新值。这种事件是传递到其它的Bean,至于接收事件的Bean应做什么动作由其自己定义。

股价是经常变化的。

测试代码:

package com.beans;

import java.beans.PropertyChangeEvent;

import java.beans.PropertyChangeListener;

import java.beans.PropertyChangeSupport;

import java.util.Random;

import junit.framework.TestCase;

import static java.lang.System.out;

public class TestPropertyChange extends TestCase {

public void testPropertyChange() {

StockPrice stockPrice = new StockPrice();

StockPriceListener listener = new StockPriceListener();

stockPrice.addPropertyChangeListener(listener);

Random random = new Random();

for (int i = 0; i < 10; i++) {

stockPrice.setPrice(random.nextInt(100));

}

}

static class StockPrice {

private int price;

private PropertyChangeSupport support = new PropertyChangeSupport(this);

public int getPrice() {

return price;

}

public void setPrice(int price) {

support.firePropertyChange("price", this.price, price);

this.price = price;

}

public void addPropertyChangeListener(PropertyChangeListener listener) {

support.addPropertyChangeListener(listener);

}

public void removePropertyChangeListener(PropertyChangeListener listener) {

support.removePropertyChangeListener(listener);

}

}

static class StockPriceListener implements PropertyChangeListener {

@Override

public void propertyChange(PropertyChangeEvent evt) {

out.println(evt.getOldValue() + "->" + evt.getNewValue());

}

}

}

java bound_javabean之bound属性相关推荐

  1. java 反射机制--根据属性名获取属性值

    1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plaincopy /** * 根据属性名获取属性值 * * @param fieldName * @param ob ...

  2. java nio.Buffer的属性变化

    java nio.Buffer的属性变化 认识Buffer Channel 提供从文件.网络读取数据的渠道,但是读取或写入的数据都必须经由 Buffer.Buffer,实际上是一个连续数组. 常用的 ...

  3. java访问对象的属性_java访问对象的属性和行为详细介绍

    每一个对象都会有属于自己的属性和行为,下面的文章就对java访问对象的属性和行为做了一下详细的介绍. 对象的属性和行为在类当中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行 ...

  4. Android-通过Java代码来实现属性动画

    Android-通过Java代码来实现属性动画 除了能够使用定义xml文件来设置动画之外.还能够使用java代码来进行控制动画. 示比例如以下: 布局文件: <RelativeLayout xm ...

  5. 如何在Java中获取系统属性?

    The System class in Java maintains a set of properties. These properties are stored in the form of k ...

  6. java 编写方法和属性,Java类属性及方法的定义

    文章导读 [在定义类时,经常需要抽象出它的属性和方法,并定义在类的主体中.本文探讨Java类属性及方法的定义和使用.通过本文的学习,你将了解如何在Java类中定义属性及方法.属性值的设置和获取.] 本 ...

  7. java.lang.IllegalArgumentException: bound must be positive

    错误描述 Exception in thread "main" java.lang.IllegalArgumentException: bound must be positive ...

  8. java属性定义_在java中定义抽象属性

    抽象关键字通常应用于类和方法,以便将某些行为的实现委托给子类. Java不支持抽象属性,如果您试图将类属性标记为抽象,则会得到编译错误. 在本教程中,将介绍两种定义抽象属性的方法,这些属性由子类设置, ...

  9. 遍历java对象属性_[Java教程]遍历对象属性

    [Java教程]遍历对象属性 0 2016-09-12 13:00:03 初始化对象:var person = function(name){ this._name = name;}var grand ...

最新文章

  1. php if require,php echo()和print()、require()和include()函数区别说明
  2. 马斯克的星际飞船SN10又炸了,但技术却向前迈出一大步!
  3. error: ‘::main‘ must return ‘int‘
  4. c#小软件(SaveClassic)开发手记--(3)基础类(MP3播放类MP3Player)
  5. 【阿里云课程】如何基于GAN完成人脸图像超分辨任务
  6. EasyExcel读取文件异常,报 java.lang.NoClassDefFoundError,/x2006/main/CTTableStyles
  7. 用VirtualWifi软件实现无线网卡同时连接多个AP。
  8. 404!优秀案例分享,这样的页面照样能给你小惊喜
  9. 面向初学者的带有MVC API的Android 管理表CRUD MSSQL
  10. shell快速迁移海量文件
  11. Matlab二维图导入ansys,(原创教程)利用Matlab对ANSYS数据进行后处理.pdf
  12. 英国PHP轴承,php – 纵向宽度将如何影响轴承
  13. 学习DSP28335--CCS软件打开例程时一直报错问题以及编译问题解决
  14. 四、案例:北京二手房价影响因素分析
  15. 分治法 —— 循环比赛日程安排表
  16. 一道面试题(限流,幂等key)
  17. golang的乐观锁与悲观锁
  18. 基于java的网上零食销售系统的设计与实现
  19. 程序员也需要自我营销?
  20. AMH面板 or 宝塔面板DnsPod动态解析IPv6(Python)

热门文章

  1. AS-GCN【复现】ModuleNotFoundError: No module named ‘processor.demo‘问题
  2. C++实现U盘小偷(超详细版)
  3. 计算机更新并关机能关闭吗,win10关机不想更新并关机而是直接关机步骤设置
  4. 2021年刷这600多道算法题,轻松进大厂
  5. python可视化图表生成(二)
  6. 美国留学申请干货--转自 AdmitWrite留学(无图)
  7. 【预测】中国2015年将陷入20年来最严重的失业潮和减薪潮!
  8. CVPR_2021_Fast-GANFIT: Generative Adversarial Networkfor High Fidelity 3D Face Reconstruction
  9. 极兔速递 一面面试题
  10. js for循环 遍历数组 遍历对象属性