zoukankan      html  css  js  c++  java
  • 事件监听、持有对方的引用--【J2SE】

    事件监听

    代码:

    /*
    事件监听:
    1.Java事件处理机制
    2.事件源、事件监听器概念及作用
    3.如何在一个现有组建上注册监听器
    */
    import java.awt.*;
    import java.awt.event.*;
    
    public class TestActionEvent{
    	public static void main(String args[]){
    		Frame f=new Frame("Test");//创建Frame窗体
    		Button b=new Button("Press me!");//创建Button按钮
    		Monitor bh=new Monitor();//创建检测
    		b.addActionListener(bh);//添加监听事件
    		f.add(b,BorderLayout.CENTER);//窗体添加事件
    		f.pack();//打包
    		f.setVisible(true);//显示
    	
    	}
    	
    	
    }
    
    class Monitor implements  ActionListener{
    	public void actionPerformed(ActionEvent e){
    		System.out.println("a button has been pressed");
    	}
    }
    

    效果,点击按钮,cmd窗口里面会打印  a button has been pressed的字样:

    持有对方的引用

    代码:

    import java.awt.*;
    import java.awt.event.*;
    public class TFMath{
    	public static void main(String[] args){
    		new TFFrame().launchFrame();
    		
    	}
    	
    }
    
    class TFFrame extends Frame{
    	TextField num1,num2,num3;
    	public void launchFrame(){
    				num1=new TextField(10);
    				num2=new TextField(10);
    				 num3=new TextField(15);
    				Label lblPlus=new Label("+");
    				Button btnEqual=new Button("=");
    				btnEqual.addActionListener(new MyMonitor(this));
    				
    				setLayout(new FlowLayout());
    				add(num1);
    				add(lblPlus);
    				add(num2);
    				add(btnEqual);
    				add(num3);
    				pack();
    				setVisible(true);
    				
    	}
    }
    
    
    class MyMonitor implements ActionListener{
    	//TextField num1,num2,num3;
    	/*
    	public void actionPerformed(ActionEvent e) {
    		this.num1=num1;
    		this.num2=num2;
    		this.num3=num3;
    	}
    	*/
    	TFFrame tf=null;
    	//持有对方的引用
    	public MyMonitor(TFFrame tf){
    		this.tf=tf;
    	}
    	public void actionPerformed(ActionEvent e){
    		int n1=Integer.parseInt(tf.num1.getText());
    		int n2=Integer.parseInt(tf.num2.getText());
    		tf.num3.setText("" + (n1+n2));
    	}
    }
    

    效果:

  • 相关阅读:
    hugo博客使用 utterances 作为评论系统
    使用DEM生成彩色的立体图像
    hibernate Annotation 注解形式 实例 事务 hibernate.cfg.xml
    web.xml配置webAppRootKey 的问题
    JAVA 生成二维码 代码
    关于Boost库的split函数在不同的编译器下的使用
    纯 hibernate hibernate.cfg.xml 事务 数据库操作 CRUD
    Android 百度地图API 定位 导航 代码
    Android GPS
    使用GDAL对DEM进行彩色渲染
  • 原文地址:https://www.cnblogs.com/wangmei/p/4827336.html
Copyright © 2011-2022 走看看