public void actionPerformed(ActionEvent e) {
for(int i=0;i<=9;i++){
if (flag==true){
if (e.getSource() == btNum[i]){
g=g+Integer.toString(i);
jt1.setText(s.concat(g));
c=Float.parseFloat(jt1.getText());
}
}
else if(flag==false){
if (e.getSource() == btNum[i]){
m=m+Integer.toString(i);
jt1.setText(s.concat(m));
b=Float.parseFloat(jt1.getText());
}
}
}
for(int i=0;i<=3;i++){
if (e.getSource() == btOper[i]){
jt1.setText("");
y=i;
flag=false;
g="";
m="";
}
}
if (e.getSource() == btOper[4]){
jt1.setText("");
flag=false;
g="";
m="";
}
if(e.getSource() == btEqual){
switch(y){
case 0: num=c+b;break;
case 1: num=c-b;break;
case 2: num=c*b;break;
case 3: num=c/b;break;
case 4: num=c%b;break;
}
jt1.setText(num+"");
c=0;b=0;num=0;
flag=true;
}
}
public void click(){
for(int i=0;i<=9;i++){
btNum[i].addActionListener(this);
}
for(int i=0;i<=4;i++){
btOper[i].addActionListener(this);
}
btEqual.addActionListener(this);
}
public static void main(String[]args){
test03 c1=new test03("简易计算器");
c1.click();
}
}
运用的是Java GUI中的Swing/AWT内容,要理解事件和事件监听怎么用的。
解释下e.getSource() == btNum[i]这句代码:
e.getSource()指的是获取界面上的控件信息
btNum[i]可以看出是对JButton按钮控件的数组集合
e.getSource() == btNum[i],如果当前界面点击的按钮是btNum[i],则执行相关逻辑,逻辑可以是打印语句,也可以是操作其他控件数值,比如点击了这个按钮,就在一个JTextField文本框中写一句话。
简易计算器的功能