用JAVA编的一个简单计算器。总运行不出结果。怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/05/24 04:42:47
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class q extends Applet implements ActionListener

{ Label l1=new Label(" ");
Label l2=new Label("=");
TextField f1=new TextField(6);
TextField f2=new TextField(6);
TextField f3=new TextField(6);
Button b1=new Button("+");
Button b2=new Button("-");
Button b3=new Button("*");
Button b4=new Button("/");
public void init()
{ add(l1);add(b1);
add(f1);add(b2);
add(f2);add(b3);
add(f3);add(b4);
add(l2);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
int x=Integer.parseInt(f1.getText())+Integer.parseInt

(f2.getText());
f3.setText(Integer.toString(x));
}

{
int x=Integer.parseInt(f1.getText())-Integer.parseInt

更改后的init函数和actionPerformed函数,详见注释:
public void init() {
add(l1);
add(b1);
add(f1);
add(b2);
add(f2);
add(b3);
add(f3);
add(b4);
add(l2);
b1.addActionListener(this);//所有的按钮都应该添加监听器
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
f3.setEditable(false); //最好让f3不可编辑
}

public void actionPerformed(ActionEvent e) {
if(e.getSource() == this.b1){//判断是哪一个按钮被点击
int x=Integer.parseInt(f1.getText())+Integer.parseInt(f2.getText());
f3.setText(Integer.toString(x));
}
else if(e.getSource() == this.b2){
int x=Integer.parseInt(f1.getText())-Integer.parseInt(f2.getText());
f3.setText(Integer.toString(x));
}

else if(e.getSource() == this.b3){
int x=Integer.parseInt(f1.getText())*Integer.parseInt(f2.getText());
f3.setText(Integer.toString(x));
}