/**
*Title:TestMath_16.java
*Description:1、字符转换为整形,整形转换为字符 2、类间值的传递方式 最终能完成一个简单的计算。
*@Copyright:
*@Company:
*@autor:firefly
*@version:1.0
*@time:2012.10.2
*/
import java.awt.*;
import java.awt.event.*;
public class TestMath_16 {
public static void main(String[] args) {
new TFFrame().launchFrame(); //这里的new TFFrame()相当于一个类的对象,括号不可以忘记了。
//在TFFrame类中没有写明TFFrame()的构造方法,系统默认此构造方法为一个空的构造方法。在这里是用这个对象中的launchFrame()方法。
}
}
class TFFrame extends Frame {
public void launchFrame() { //launchFrame()这是名字是自己定义的,也可以用其他的名字。
TextField num1 = new TextField(10);//定义TextField所占的长度。
TextField num2 = new TextField(10);
TextField num3 = new TextField(15);
Label lblPlus = new Label("+");
Button btnEqual = new Button("=");
btnEqual.addActionListener(new Monitor(num1, num2, num3));//使用局部变量中为num1,num2,num3。使用成员变量中的num1,num2,num3见TextMath2_16.java.
setLayout(new FlowLayout());
add(num1); //TFFrame本身就是frame不要再写为f.add();的这种形式。
add(lblPlus);
add(num2);
add(btnEqual);
add(num3);
pack();
setVisible(true);
}
}
class Monitor implements ActionListener {
TextField num1, num2, num3;
public Monitor(TextField num1, TextField num2, TextField num3) {//通过函数的方式把类TFFrame中局部变量的参数传进来。
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());
//num3.setText("" + (n1+n2)); //把整形的数转换为字符串,并在TextField中显现出来。也可以用下面的形式:
num3.setText(String.valueOf(n1+n2));
}
}