日期:2011-03-22 16:16:00 来源:本站整理
动态绑定事件(java AWT)[Java编程]
本文“动态绑定事件(java AWT)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
新AWT事件模子给我们带来的一个好处就是机动性.在老的模子中我们被迫为我们的程序行动艰难地编写代码.但新的模子我们可以用单一办法调用增添和删除事件行动.下面的例子证明了这一点:
这个例子采纳的新伎俩包含://: DynamicEvents.java // The new Java 1.1 event model allows you to // change event behavior dynamically. Also // demonstrates multiple actions for an event. import java.awt.*; import java.awt.event.*; import java.util.*; public class DynamicEvents extends Frame { Vector v = new Vector(); int i = 0; Button b1 = new Button("Button 1"), b2 = new Button("Button 2"); public DynamicEvents() { setLayout(new FlowLayout()); b1.addActionListener(new B()); b1.addActionListener(new B1()); b2.addActionListener(new B()); b2.addActionListener(new B2()); add(b1); add(b2); } class B implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("A button was pressed"); } } class CountListener implements ActionListener { int index; public CountListener(int i) { index = i; } public void actionPerformed(ActionEvent e) { System.out.println( "Counted Listener " + index); } } class B1 implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("Button 1 pressed"); ActionListener a = new CountListener(i++); v.addElement(a); b2.addActionListener(a); } } class B2 implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("Button 2 pressed"); int end = v.size() -1; if(end >= 0) { b2.removeActionListener( (ActionListener)v.elementAt(end)); v.removeElementAt(end); } } } public static void main(String[] args) { Frame f = new DynamicEvents(); f.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); f.setSize(300,200); f.show(); } } ///:~
(1) 在每个按钮上附着不少于一个的接纳器.普通,组件把事件作为多造型处理,这意味着我们可认为单个事件注册很多接纳器.当在特别的组件中一个事件作为单一造型被处理时,我们会得到TooManyListenersException(即太多接纳器非常).
(2) 程序履行期间,接纳器动态地被从按钮B2中增添和删除.增添用我们前面见到过的办法完成,但每个组件一样有一个removeXXXListener()(删除XXX接纳器)办法来删除各种范例的接纳器.
这种机动性为我们的编程供应了更强盛的本领.
我们注意到事件接纳器不能保证在号令他们被增添时可被调用(固然事实上大部份的履行工作都是用这种办法完成的).
以上是“动态绑定事件(java AWT)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:将商业逻辑与UI逻辑区脱离
- ·下一篇文章:再探早期示例
- ·中查找“动态绑定事件(java AWT)”更多相关内容
- ·中查找“动态绑定事件(java AWT)”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论