在上一篇《简易计算器面板小程序》中 ,我已对面板部分的程序作了详细的注释,并对程序的运行过程及结果作了完整的介绍,并且是上机调试过了得到的结果。但是,那只是面板,不能运算。要想让它具有运算的功能,还得在此基础上作一些修改,加进有关按钮动作响应部分的程序。为了便于理解,便于调试,便于学习,掌握其要点,我想应该遵循循序渐进的原则,所以,先从加减运算开始,看看这个功能是怎么实现的。请看下面的小程序。从程序中可以看出,它是利用内部类ButtonAct 来处理按钮的动作响应的。从总体上讲是两个按钮“运算”和“重置”,但“运算”又区分为“加”和“减”。所以,用负责实现双分支的if语句来编程。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
/**C2.java 简易加减计算器小程序 */
WWW_P※LCJS_CO※M-PLC-技-.术_网
import java.applet.*;WWW_P※LCJS_COM-PLC-)技.术_网
import java.awt.*;P.L.C.技.术.网——可编程控制器技术门户
import java.awt.event.*;WWW_P※LCJS_CO※M-PLC-技-.术_网
public class C2 extends Applet{
WWW_P※LCJS_COM-PLC-)技.术_网
TextField t1,t2,t3;WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
Button btn1,btn2;plcjs.技.术_网
CheckboxGroup select;WWW_PLCJS_COM-PLC-技.术_网
Checkbox a,s; //分别代表加、减WWW_PLCJS_COM-PLC-技.术_网
Label b;W1WW_P4LCJS_COM-PLC-技.术_网
public void init(){
WW.W_PLCJS_COM-PLC-技.术_网
t1 = new TextField(13);WWW_PLCJS_COM-PLC-技.术_网
t2 = new TextField(13);WWW.PLCJS.COM——可编程控制器技术门户
t3 = new TextField(13);WWcW_PLCJS_COM-PLC-技.术_网
btn1 = new Button(" 等 于 ");WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
btn2 = new Button(" 重 置 ");WWW_PLC※JS_COM-PmLC-技.术_网
select = new CheckboxGroup();WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
a = new Checkbox("加",true,select);WWW_PL※CJS_COM-PLC-技.术_网
s = new Checkbox("减",false,select);W1WW_P4LCJS_COM-PLC-技.术_网
b = new Label(" 简易加法/减法计算器");P.L.C.技.术.网——可编程控制器技术门户
add(b);WWW_PLCJS_COM-PLC-技.术_网
add(t1);WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
add(a);WWW_P※LCJS_COM-PLC-)技.术_网
add(s);WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
add(t2);WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
add(btn1);WWW_PLC※JS_COM-PmLC-技.术_网
add(t3);WWW_PLCJS_COM-PLC-技.术_网
add(btn2);WW.W_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
btn1.addActionListener(new ButtonAct()); //注册给ButtonAct对象WW.W_PLCJS_COM-PLC-技.术_网
btn2.addActionListener(new ButtonAct()); //注册给ButtonAct对象W1WW_P4LCJS_COM-PLC-技.术_网
}WWW_PLCJS@_COM%-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
class ButtonAct implements ActionListener { //内部类,按钮处理WW.W_PLCJS_COM-PLC-技.术_网
public void actionPerformed(ActionEvent e) {WW.W_PLC※JS_C,OM-PL,C-技.术_网
int op1,op2,op3;WWcW_PLCJS_COM-PLC-技.术_网
if(e.getSource()==btn1){ //等于按钮WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
op1=Integer.parseInt(t1.getText());WWW_PLCJS@_COM%-PLC-技.术_网
op2=Integer.parseInt(t2.getText());plcjs.技.术_网
if(a.getState()) //以下判断计算类型并实现相应的计算WWW_PL※CJS_COM-PLC-技.术_网
op3=op1 op2;WWW_P※LCJS_CO※M-PLC-技-.术_网
else——可——编——程——控-制-器-技——术——门——户
op3=op1-op2;WWW_PLCJS@_COM%-PLC-技.术_网
t3.setText(Integer.toString(op3));WWW_PL※CJS_COM-PLC-技.术_网
}WWW.PLCJS.COM——可编程控制器技术门户
else { //重置按钮WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)