日期:2014-05-20  浏览次数:20734 次

关于事件响应的问题
JComboBox   comboService   =   new   JComboBox();  
执行了comboService.addItem(   (String)   ss[i]);
会自动响应comboService_actionPerformed(ActionEvent   e)事件吗?
另外我想知道如果是按钮事件响应,那单击应该怎么写,双击应该怎么写呢?
怎么写JButton_actionPerformed(ActionEvent   e)?

------解决方案--------------------
事件响应没有自动的 要么有默认的监听器 比如JFrame组件的关闭X默认是隐藏窗体
一般自己设计的组件都是要自己加上去的

初始化时加上 语句: "组件.addActionListener(new 监听事件类()) " 就加上了监听器
按监听对象不同 还有addMouseListener() addKeyListener()等等
监听事件类 可设计成一个内部类 或者匿名类

监听事件类要求 implements ActionListener 接口 ,并在类里实现这个接口的仅有的一个函数actionPerformed(ActionEvent e) 就完成了监听功能

在函数actionPerformed(ActionEvent e)内实现事件响应

就这几个步骤 不是自动响应的

当多个组件用同一个监听器时 要学会ActionEvent类的两个函数 e.getActionCommand() e.getSource()来判断事件源 而做出不同响应 当然你也可以设计好多个监听事件类 有着自己不同的响应


参看API java.awt.event.ActionListener
java.awt.event.MouseListenter
java.awt.event.ActionEvent
java.awt.event.MouseEvent getClickCount()