黑马程序员技术交流社区

标题: 持有对方引用的小困惑 有代码请各位指点 [打印本页]

作者: 吴新    时间: 2012-11-26 09:19
标题: 持有对方引用的小困惑 有代码请各位指点
<import java.awt.*;
import java.awt.event.*;

public class TFMath {
        public static void main(String [] args) {
                new TFFrame();
        }
}

class TFFrame extends Frame {
        TextField tf1,tf2,tf3;
        TFFrame() {
                setLayout(new FlowLayout());//这种方法使用这个类的变量时必须定义为成员变量
                 tf1 = new TextField(10);//设置宽度
                 tf2 = new TextField(10);
                 tf3 = new TextField(15);
                Label lp = new Label("+");//静态文本
                Button b = new Button("=");
                //Monitor mr = new Monitor(this);//重要   持有对方引用
                b.addActionListener(new Monitor(this));
                add(tf1);
                add(lp);
                add(tf2);               
                add(b);
                add(tf3);
                setVisible(true);
                pack();
        }
}

class Monitor implements ActionListener {
       
        TFFrame tf =  null;
        public Monitor(TFFrame tf) {
                this.tf = tf;
        }  
            //非常重要  持有对方引用
        public void actionPerformed(ActionEvent e) {
                int nm1 = Integer.parseInt(tf.tf1.getText());
                int nm2 = Integer.parseInt(tf.tf2.getText());
                //tf.tf3.setText(String.valueOf(nm1+nm2));
                tf.tf3.setText(""+(nm2+nm1));
        }
}
>这是我写的计算器的小程序,麻烦给我深入讲讲持有对方引用的作用和用法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2