1.英文名:MouseListener和ActionListener
同为接口,继承同一个父类EventListenr
用时需定义类实现接口
2.作用:MouseListener:可用于鼠标的单击、按下、释放、进入、离开,可以用于界面、组件类
ActionListener:用于组件上面(JPanel不可以,JFrame也不可以,JLabel也不可以)
JButton可以,JTextField也可以
3.区别
MouseListener在功能上更加多样化,在加的对象上也更有选择性更广泛;
ActionListener在功能上相对单一,只能适用于几种简单的组件上且都为单击事件。
ActiMouseListener有e.getActionCommand()方法,而ActionListener没有,所以不能判断
究竟按下或者释放的是哪个按钮,所以按钮多的话,不能用MouseListener。
//MouseListener部分: public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub g.setColor(Color.blue); draw(100,400,400,400,400,100,10); draw(400,100,400,400,700,400,10); draw(700,400,400,400,400,700,10); draw(400,700,400,400,100,400,10); } //同样的功能ActionListener部分: if(e.getActionCommand().equals("谢宾斯基三角形")){ g.setColor(Color.blue); draw(100,400,400,400,400,100,10); draw(400,100,400,400,700,400,10); draw(700,400,400,400,400,700,10); draw(400,700,400,400,100,400,10); }