本文实例讲述了java GUI编程之监听操作。分享给大家供大家参考,具体如下:
当点坐标系中击的组件组件时,会产生相应的效果,但是相应的其必须进行监听,确定是那个对象,那种操作,但是如果用杯进行主动的监听就会消耗大量的资源,所以有了被动的监听,即对应的事件发生后会自动的执行相关的代码。
按钮监听:
实例1:
进口java.awt。*; 进口java.awt.event。*; 公开课MoniterStart { 公共静态void main (String [] args) { f=新帧(); 按钮b=new按钮(“媒体”); f.add (b, BorderLayout.CENTER); MyMonitor bh=new MyMonitor (); b.addActionListener (bh); f。setBounds (100, 100, 300, 300); f.setVisible(真正的); } } 类MyMonitor实现ActionListener { 公共空间actionPerformed (ActionEvent e) { System.out.println(“啊”); } } >之前进行被动监听是你必须确定是什么地方什么类型的组合发出的,我们不可能提供所有的信息,所以我们初建了一个事件对应一个对象,其都实现了一个接口,当事件发生时,就会调用对应的事件方法。即(实现ActionListener),而对应的当实现方法是就要求其提供事件动作。
实例2:
进口java.awt。*; 进口java.awt.event。*; 公开课Monitor2 { 公共静态void main (String [] args) { f1=new帧(); 按钮b1=new按钮(“开始”); 按钮b2=new按钮(“停止”); b1。setActionCommand(“结束”); f1.add (b1, BorderLayout.CENTER); f1.add (b2, BorderLayout.SOUTH); MyMonitor1 bh=new MyMonitor1 (); b1.addActionListener (bh); b2.addActionListener (bh); f1。setBounds (100, 100, 300, 300); f1.setVisible(真正的); } } 类MyMonitor1实现ActionListener { 公共空间actionPerformed (ActionEvent e) { system . out。println(“啊你得到它”+ e.getActionCommand ()); } } >之前注:当一个监听器监听多个按钮对象时,我们可以用setActionCommand进行区别,这个相当于是一个属性亦或是一种标记。
文本框(文本输入监听)
实例3;
进口java.awt。*; 进口java.awt.event。*; 公开课TfMonitor { 公共静态void main (String [] args) { 新TFFrame (); } } 类TFFrame { TFFrame () { f=新帧(TF); TextField tf=new TextField (); f.add (tf); 特遣部队。addActionListener(新TFFrameMonitor ()); f。setBounds (100, 100, 300, 300); f.setVisible(真正的); } }/* 类TFFrame扩展帧{ TFFrame () {//帧f=新帧(TF); TextField tf=new TextField (); 添加(tf); 特遣部队。addActionListener(新TFFrameMonitor ());//f。setBounds (100, 100, 300, 300); setBounds (100, 100, 300, 300); setVisible(真正的); } } */类TFFrameMonitor实现ActionListener { 公共空间actionPerformed (ActionEvent e) { 文本框的文本=(文本框)e.getSource (); System.out.println (text.getText ());//text.setText(空); } } >之前TextField属于一种输入文本类的组件,对于框架类其一种可以直接用框架构造方法构造,直接产生一个帧的对象,另一种可以直接继承架这样就相当于已经存在了一个框架类,可以直接使用框架里面的方法。
注:其上面的setText (null)是相当于在输入结束按回车键的时候,会自动的把输入框里的数据清空。如果没有,其还会继续存在。
实例4:
进口java.awt.Frame; 进口java.awt.TextField; 进口java.awt.event.ActionEvent; 进口java.awt.event.ActionListener; 公开课TFFrame2Monitor { 公共静态void main (String [] args) { 新TFFrame2 (); } } 类TFFrame2扩展帧{ TFFrame2 () { TextField tf=new TextField (); 添加(tf); 特遣部队。addActionListener(新TFFrameMonitor2 ()); tf.setEchoChar (“*”); setBounds (100, 100, 300, 300); setVisible(真正的); } } 类TFFrameMonitor2实现ActionListener { 公共空间actionPerformed (ActionEvent e) { 文本框的文本=(文本框)e.getSource (); System.out.println (text.getText ()); text.setText(空); } } >之前仅仅是对文本提出对象添加了一个setEchoChar,表示输入后的表面显示。如果没有,即为输入什么就显示什么,如果添加了就和输密码一样被覆盖了。
java GUI编程之监听操作实例分析