zoukankan      html  css  js  c++  java
  • java例程练习(简单的计算器[调停者 设计模式 及 内部类 ])

    import java.awt.*;
    import java.awt.event.*;
    
    public class TestInnerClass {
    
        public static void main(String[] args) {
        	new TFFrame().launchFrame();
        }
    
    }
    
    class TFFrame extends Frame {
    	public void launchFrame() {
    		TextField num1 = new TextField(10);
    		TextField num2 = new TextField(10);
    		TextField num3 = new TextField(15);
    		Label lbPlus = new Label("+");
    		Button btnEqual = new Button("=");
    		setLayout(new FlowLayout());
    		add(num1);
    		add(lbPlus);
    		add(num2);
    		add(btnEqual);
    		add(num3);
    		btnEqual.addActionListener(new MyMonitor(num1, num2, num3));
    		pack();
    		setVisible(true);
    	}
    
    }
    
    class MyMonitor implements ActionListener {
    	TextField num1,num2,num3;
    	MyMonitor(TextField num1, TextField num2, TextField num3) {//用构造函数实现
    		this.num1 = num1;
    		this.num2 = num2;
    		this.num3 = num3;
    	}
    
    
    	public void actionPerformed(ActionEvent e) {
    		int n1 = Integer.parseInt(num1.getText());
    		int n2 = Integer.parseInt(num2.getText());
    		int n3 = n1 + n2;
    		num3.setText("" + n3);
    
    	}
    }
    import java.awt.*;
    import java.awt.event.*;
    
    public class TestInnerClass {
    
        public static void main(String[] args) {
        	new TFFrame().launchFrame();
        }
    
    }
    
    class TFFrame extends Frame {
    	public void launchFrame() {
    		TextField num1 = new TextField(10);
    		TextField num2 = new TextField(10);
    		TextField num3 = new TextField(15);
    		Label lbPlus = new Label("+");
    		Button btnEqual = new Button("=");
    		setLayout(new FlowLayout());
    		add(num1);
    		add(lbPlus);
    		add(num2);
    		add(btnEqual);
    		add(num3);
    		btnEqual.addActionListener(new MyMonitor(this/*num1, num2, num3*/));
    		pack();
    		setVisible(true);
    	}
    
    }
    
    class MyMonitor implements ActionListener {
    //	TextField num1,num2,num3;
    //	MyMonitor(TextField num1, TextField num2, TextField num3) {
    //		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());
    		int n3 = n1 + n2;
    		tf.num3.setText("" + n3);
    
    	}
    }
    import java.awt.*;
    import java.awt.event.*;
    
    public class TestInnerClass {
    
        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 lbPlus = new Label("+");
    		Button btnEqual = new Button("=");
    		setLayout(new FlowLayout());
    		add(num1);
    		add(lbPlus);
    		add(num2);
    		add(btnEqual);
    		add(num3);
    		btnEqual.addActionListener(new MyMonitor());
    		pack();
    		setVisible(true);
    	}
    
    	//内部类:1,方便的访问包装类的成员
    	//       2,该类不允许或不需要其他类进行访问
    	class MyMonitor implements ActionListener {
    		public void actionPerformed(ActionEvent e) {
    			int n1 = Integer.parseInt(num1.getText());
    			int n2 = Integer.parseInt(num2.getText());
    			int n3 = n1 + n2;
    			num3.setText("" + n3);
    		}
    	}
    
    }
    



  • 相关阅读:
    PLSQL远程访问Oracle数据库配置
    考勤系统之计算工作小时数
    C#压缩或解压(rar和zip文件)
    C#基础Queue(队列)的应用
    PetaPoco模糊查询
    牛腩购物14:商品相关表的设计 后台增加用户管理 Eval高级应用 商品类别无限分类,外键的建立,repeater嵌套repeater
    asp.net 4.0 新功能 路由
    sqlserver 2008 使用维护计划,备份数据库
    asp.net Linq和泛型,IEnumerable和IQueryable之间的区别,Lambda表达式,Linq to Sql停止开发转为 Entity Framework
    List 对象集合的操作和使用 List 集合对象 对象集合 自动属性 对象初始化 集合初始化器
  • 原文地址:https://www.cnblogs.com/wjchang/p/3671616.html
Copyright © 2011-2022 走看看