textbean.java
来自「java网络高级编程的配套源码,java网络高级编程为清华出版社出版.」· Java 代码 · 共 102 行
JAVA
102 行
/*源代码清单10-17*/
package bean;
import java.awt.TextField;
import java.beans.*;
import java.awt.event.*;
import java.util.*;
public class TextBean extends TextField {
private String showText;
//实例化一个PropertyChangeSupport对象
private PropertyChangeSupport changes=new PropertyChangeSupport(this);
private transient Vector keyListeners;
public TextBean()
{
}
//获取器方法
public String getShowText()
{
return showText;
}
//设置器方法,关联属性变化通知
public void setShowText(String newShowText)
{
String oldShowText=showText;
showText=newShowText;
setText(showText);
changes.firePropertyChange("showText",oldShowText,newShowText);
}
//下面两个方法注册和删除属性监听器方法
public void addPropertyChangeListener(PropertyChangeListener l)
{
changes.addPropertyChangeListener(l);
}
public void removePropertyChangeListener(PropertyChangeListener l)
{
changes.removePropertyChangeListener(l);
}
public synchronized void removeKeyListener(KeyListener l)
{
super.removeKeyListener(l);
if (keyListeners != null && keyListeners.contains(l))
{
Vector v = (Vector) keyListeners.clone();
v.removeElement(l);
keyListeners = v;
}
}
public synchronized void addKeyListener(KeyListener l)
{
super.addKeyListener(l);
Vector v = keyListeners == null ? new Vector(2) : (Vector) keyListeners.clone();
if (!v.contains(l))
{
v.addElement(l);
keyListeners = v;
}
}
protected void fireKeyTyped(KeyEvent e)
{
if (keyListeners != null)
{
Vector listeners = keyListeners;
int count = listeners.size();
for (int i = 0; i < count; i++)
((KeyListener) listeners.elementAt(i)).keyTyped(e);
}
}
protected void fireKeyPressed(KeyEvent e)
{
if (keyListeners != null)
{
Vector listeners = keyListeners;
int count = listeners.size();
for (int i = 0; i < count; i++)
((KeyListener) listeners.elementAt(i)).keyPressed(e);
}
}
protected void fireKeyReleased(KeyEvent e)
{
if (keyListeners != null)
{
Vector listeners = keyListeners;
int count = listeners.size();
for (int i = 0; i < count; i++)
((KeyListener) listeners.elementAt(i)).keyReleased(e);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?