GUI_4_2010_03_19_补

来源:互联网 发布:爱剪辑官网下载mac版 编辑:程序博客网 时间:2024/06/10 06:30

内部类
在一个类里访问另一个类的成员变量
好处:
可以方便的访问包装类的成员
可以更清楚的组织逻辑,防止不应该被其它类访问的类进行访问
何时使用:
该类不允许或不需要其它类进行访问时

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

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(20);
    Label lblPlus = new Label("+");
    Button btnEqual = new Button("=");
    //btnEqual.addActionListener(new MyMonitor(num1,num2,num3));//方法一
    //btnEqual.addActionListener(new MyMonitor(this));//方法二
    btnEqual.addActionListener(new MyMonitor());//方法三
    setLayout(new FlowLayout());
    add(num1);
    add(lblPlus);
    add(num2);
    add(btnEqual);
    add(num3);
    pack();
    setVisible(true);
  }
  class MyMonitor implements ActionListener{
    public void actionPerformed(ActionEvent e){
      int n1 = Integer.parseInt(num1.getText());
      int n2 = Integer.parseInt(num2.getText());
      num3.setText(""+(n1+n2)); 
    } 
  }
}

/*class MyMonitor implements ActionListener{
  TextField num1,num2,num3;
  public 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());
     tf.num3.setText(""+(n1+n2));
     System.out.println("ok"); 
   } 
}*/

原创粉丝点击