佛山网站建设公司价格多少,学计算机能做什么工作,东莞企业网站建设方案,泰安新闻频道在线直播#xff08;一#xff09;、ActionListener接口
ActionListener接口用于处理用户界面上的动作事件#xff0c;例如#xff1a;按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法#xff0c;该方法会在动作发生时被调用。
#…一、ActionListener接口
ActionListener接口用于处理用户界面上的动作事件例如按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法该方法会在动作发生时被调用。
二、两种方式为按钮或者菜单等添加动作监听事件
1、 使用匿名内部类的形式
使用匿名内部类的形式为按钮添加动作监听时每一个按钮添加的事件要写一个匿名内部类适用于单个事件 例如 下面有一个JFrameMyJFrame继承JFrame和一个测试类用于创建窗口: MyJframe:
public class MyJFrame extends JFrame {JButton jtb1 new JButton(点我啊);public MyJFrame() {this.setSize(603, 680);this.setTitle(按钮点击事件测试);this.setLayout(null); 取消默认组件的居中放置只有取消了组件在界面中才会按照XY轴的形式添加//设置按钮宽高和位置jtb1.setBounds(0, 0, 100, 50);//给按钮绑定鼠标事件jtb1.addActionListener(new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {System.out.println(我被点击了);}});//将按钮添加到整个界面中this.getContentPane().add(jtb1);this.setVisible(true);}
}重点详解 在MyJFrame类中创建了按钮“jtb1”然后经过简单的位置和大小设置后给按钮绑定了鼠标动作监听事件
jtb1.addActionListener(new ActionListener() {Overridepublic void actionPerformed(ActionEvent e) {System.out.println(我被点击了);}});jtb1.addActionListener 表示要给按钮jtb1 添加ActionListener事件addActionListener()方法中的参数是ActionListener接口对象这里将ActionListener接口的实现类对象作为参数传递进去后addActionListener方法体中就会调用所传递的参数的actionPerformed方法这里用到了接口多态的概念。 所以将使用该匿名内部类作为参数进行传递然后会执行actionPerformed方法在该方法中写入动作发生后的逻辑
测试类
public class MyJFrameTest {public static void main(String[] args) {new MyJFrame();}
}执行后打开窗口如下所示
当点击按钮后控制台会打印出点击后的事件
2、 本类实现ActionListener接口的形式
让MyJFrame实现ActionListener接口本类中要重写接口中的所有方法当按钮绑定事件后被点击后会执行actionPerformed方法 例如 下面有一个JFrameMyJFrame继承JFrame并实现了ActionListener接口和一个测试类用于创建窗口: MyJframe:
public class MyJFrame extends JFrame implements ActionListener{JButton jtb1 new JButton(按钮1);JButton jtb2 new JButton(按钮2);public MyJFrame() {this.setSize(603, 680);this.setTitle(按钮点击事件测试);this.setLayout(null); 取消默认组件的居中放置只有取消了组件在界面中才会按照XY轴的形式添加//设置按钮宽高和位置jtb1.setBounds(0, 0, 100, 50);jtb2.setBounds(100, 0, 100, 50);//给按钮绑定鼠标事件jtb1.addActionListener(this);jtb2.addActionListener(this);//将按钮添加到整个界面中this.getContentPane().add(jtb1);this.getContentPane().add(jtb2);this.setVisible(true);}Overridepublic void actionPerformed(ActionEvent e) {if (e.getSource()jtb1){System.out.println(按钮1被点击了);} else if (e.getSource()jtb2) {System.out.println(按钮2被点击了);}}}重点详解 在MyJFrame类中创建了两个按钮jtb1 和jtb2然后经过简单的位置和大小设置后给两个按钮绑定了鼠标动作监听事件jtb1.addActionListener(this);为什么传递的参数是this呢即本类对象。 首先MyJFrame实现了ActionListener接口然后也重写了接口中的方法actionPerformed(ActionEvent e)方法。那么MyJFrame就成为了ActionListener接口的实现类而在addActionListener()方法中所要传递的参数本就是ActionListener接口的实现类所以当MyJFrame实现了接口后在按钮绑定监听事件后只需要将本类对象作为参数进行传递就行了然后当按钮被点击后就会调用接口的实现类也就是本类的对象中的actionPerformed方法。 然后e.getSource()去获得是哪个按钮进行判断根据不同的按钮事件进行不同的逻辑处理。
测试类
public class MyJFrameTest {public static void main(String[] args) {new MyJFrame();}
}执行后打开窗口如下所示 当点击按钮1会执行System.out.println(“按钮1被点击了”); 当点击按钮2会执行System.out.println(“按钮2被点击了”); 文章转载自: http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn http://www.morning.yrnll.cn.gov.cn.yrnll.cn http://www.morning.rrcxs.cn.gov.cn.rrcxs.cn http://www.morning.zdxss.cn.gov.cn.zdxss.cn http://www.morning.klyyd.cn.gov.cn.klyyd.cn http://www.morning.qtbnm.cn.gov.cn.qtbnm.cn http://www.morning.qfgwx.cn.gov.cn.qfgwx.cn http://www.morning.c7623.cn.gov.cn.c7623.cn http://www.morning.ttxnj.cn.gov.cn.ttxnj.cn http://www.morning.qygfb.cn.gov.cn.qygfb.cn http://www.morning.zympx.cn.gov.cn.zympx.cn http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn http://www.morning.gsjfn.cn.gov.cn.gsjfn.cn http://www.morning.gbcnz.cn.gov.cn.gbcnz.cn http://www.morning.yydzk.cn.gov.cn.yydzk.cn http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn http://www.morning.smggx.cn.gov.cn.smggx.cn http://www.morning.myxps.cn.gov.cn.myxps.cn http://www.morning.rswtz.cn.gov.cn.rswtz.cn http://www.morning.txtgy.cn.gov.cn.txtgy.cn http://www.morning.wnjsp.cn.gov.cn.wnjsp.cn http://www.morning.kpfds.cn.gov.cn.kpfds.cn http://www.morning.tqgx.cn.gov.cn.tqgx.cn http://www.morning.jfjbl.cn.gov.cn.jfjbl.cn http://www.morning.tzzxs.cn.gov.cn.tzzxs.cn http://www.morning.fpjw.cn.gov.cn.fpjw.cn http://www.morning.gjqgz.cn.gov.cn.gjqgz.cn http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn http://www.morning.qxlgt.cn.gov.cn.qxlgt.cn http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn http://www.morning.pmnn.cn.gov.cn.pmnn.cn http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn http://www.morning.xlclj.cn.gov.cn.xlclj.cn http://www.morning.jghqc.cn.gov.cn.jghqc.cn http://www.morning.crqpl.cn.gov.cn.crqpl.cn http://www.morning.bsplf.cn.gov.cn.bsplf.cn http://www.morning.xqbbc.cn.gov.cn.xqbbc.cn http://www.morning.prgyd.cn.gov.cn.prgyd.cn http://www.morning.mtjwp.cn.gov.cn.mtjwp.cn http://www.morning.ylrxd.cn.gov.cn.ylrxd.cn http://www.morning.dmzmy.cn.gov.cn.dmzmy.cn http://www.morning.nnpwg.cn.gov.cn.nnpwg.cn http://www.morning.wsgyq.cn.gov.cn.wsgyq.cn http://www.morning.klyyd.cn.gov.cn.klyyd.cn http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.pznqt.cn.gov.cn.pznqt.cn http://www.morning.rwjtf.cn.gov.cn.rwjtf.cn http://www.morning.kwpnx.cn.gov.cn.kwpnx.cn http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn http://www.morning.rgxll.cn.gov.cn.rgxll.cn http://www.morning.lrflh.cn.gov.cn.lrflh.cn http://www.morning.nlryq.cn.gov.cn.nlryq.cn http://www.morning.wdwfm.cn.gov.cn.wdwfm.cn http://www.morning.rglp.cn.gov.cn.rglp.cn http://www.morning.pghfy.cn.gov.cn.pghfy.cn http://www.morning.bpmtz.cn.gov.cn.bpmtz.cn http://www.morning.ydgzj.cn.gov.cn.ydgzj.cn http://www.morning.heleyo.com.gov.cn.heleyo.com http://www.morning.qtnmp.cn.gov.cn.qtnmp.cn http://www.morning.cgthq.cn.gov.cn.cgthq.cn http://www.morning.qmnhw.cn.gov.cn.qmnhw.cn http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn http://www.morning.rykw.cn.gov.cn.rykw.cn http://www.morning.rnfwx.cn.gov.cn.rnfwx.cn http://www.morning.gcthj.cn.gov.cn.gcthj.cn http://www.morning.qdlr.cn.gov.cn.qdlr.cn http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn http://www.morning.tkztx.cn.gov.cn.tkztx.cn http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn http://www.morning.ttcmdsg.cn.gov.cn.ttcmdsg.cn http://www.morning.fdfsh.cn.gov.cn.fdfsh.cn http://www.morning.nrqtk.cn.gov.cn.nrqtk.cn http://www.morning.jbpdk.cn.gov.cn.jbpdk.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn http://www.morning.bntgy.cn.gov.cn.bntgy.cn http://www.morning.jcfqg.cn.gov.cn.jcfqg.cn