import java.awt.*;
import java.awt.event.*;
public class TFMath {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame {
TextField[] num = new TextField[3];
public void launchFrame() {
for(int i=0;i<3;i++)
num[i] = new TextField(10);
Label lblPlus = new Label("+");
Button btnEqual = new Button("=");
btnEqual.addActionListener(new MyMonitor(this));
setLayout(new FlowLayout());
add(num[0]); add(lblPlus);
add(num[1]); add(btnEqual);
add(num[2]);
pack();
setVisible(true);
}
}
class MyMonitor implements ActionListener {
TFFrame tf = null;
public MyMonitor(TFFrame tf) {this.tf = tf;}
public void actionPerformed(ActionEvent e) {
int n0 = Integer.parseInt(tf.num[0].getText());
int n1 = Integer.parseInt(tf.num[1].getText());
tf.num[2].setText(""+(n0+n1));
}
}
下面这个是内部类版本:
import java.awt.*;
import java.awt.event.*;
public class TFMath {
public static void main(String[] args) {
new TFFrame().launchFrame();
}
}
class TFFrame extends Frame {
TextField[] num = new TextField[3];
public void launchFrame() {
for(int i=0;i<3;i++)
num[i] = new TextField(10);
Label lblPlus = new Label("+");
Button btnEqual = new Button("=");
btnEqual.addActionListener(new MyMonitor());
setLayout(new FlowLayout());
add(num[0]); add(lblPlus);
add(num[1]); add(btnEqual);
add(num[2]);
pack();
setVisible(true);
}
class MyMonitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
int n0 = Integer.parseInt(num[0].getText());
int n1 = Integer.parseInt(num[1].getText());
num[2].setText(""+(n0+n1));
}
}
}