10-5.txt
来自「java网络高级编程的配套源码,java网络高级编程为清华出版社出版.」· 文本 代码 · 共 65 行
TXT
65 行
……
}
[*源程序清单10-5*]
private Vector keyListeners;
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);
}
}
然后注册事件监听器,说明将该事件源所发生的事件向什么组件发送,即在事件源组件中实现方法并在监听组件中注册该事件源。
//注册键盘事件
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;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?