java GUI编程之监听操作实例分析

  

本文实例讲述了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编程之监听操作实例分析