📄 custombean2.java
字号:
//package Property;
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;
import java.beans.*;
public class CustomBean2 extends Canvas implements Serializable {
//定义关联属性color
private Color color = Color.red;
//定义一个成员变量changes维护属性变化监听者列表
private PropertyChangeSupport changes = new PropertyChangeSupport(this);
public CustomBean2() {
setSize(100,100);
setBackground(color);
}
public Color getColor() {
return color;
}
public void setColor(Color newColor) {
Color oldColor = color;
color = newColor;
//当属性变化时,点火一个属性变化事件,将由changes将事件发送到列表中感兴趣的属性变化监听者那里
changes.firePropertyChange("color", oldColor, newColor);
repaint();
}
public void paint(Graphics g) {
setBackground(color);
String tempColor = "red";
if (color == Color.red)
{
tempColor = "red";
} else if (color == Color.green)
{
tempColor = "green";
}
Font f1 = new Font("Monospaced",Font.BOLD,20);
g.setFont(f1);
g.drawString("I am " + tempColor + "!",20,60);
}
//将属性变化监听者加入changes维护的列表中的方法
public void addPropertyChangeListener(PropertyChangeListener l){
changes.addPropertyChangeListener(l);
}
//将属性变化监听者从changes维护列表中删除的方法
public void removePropertyChangeListener(PropertyChangeListener l) {
changes.removePropertyChangeListener(l);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -