java实现一个简单的计算器界面,加上适当的事件处理,完成计算功能。

编写一个程序,实现一个简单的计算器界面,为该计算器加上适当的事件处理,完成计算功能。... 编写一个程序,实现一个简单的计算器界面,为该计算器加上适当的事件处理,完成计算功能。 展开
 我来答
greatdoudou
2010-06-15 · TA获得超过171个赞
知道小有建树答主
回答量:335
采纳率:100%
帮助的人:274万
展开全部
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Calculator extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;
// public static final int EXIT_ON_CLOSE = 3;

private Button plus=new Button("+"); //运算符
private Button minus=new Button("-");
private Button multip=new Button("*");
private Button divise=new Button("/");

private Panel pan=new Panel();
private JLabel opl1 = new JLabel("操作数1");
private JLabel opl2 = new JLabel("操作数2");
private JLabel resl = new JLabel("结果:");

private TextField op1=new TextField(10);
private TextField op2=new TextField(10);
private TextField result=new TextField(10);

public Calculator ()
{
super("Calculator");
initialize();
}

public void initialize()
{
this.setLayout(null);
this.setSize(360,300);
this.setResizable(false);
this.add(pan);
pan.setBounds(10,10,330,250);

pan.setLayout(new GridLayout(5,1));

pan.add(opl1);
// opl1.setBounds(10,10, 100, 40);

pan.add(op1);
// op1.setBounds(120,10,100,40);

pan.add(opl2);
// opl2.setBounds(21,0,100,40);

pan.add(op2);
// op2.setBounds(21,110 , 100, 40);

pan.add(resl);
// resl.setBounds(42,0 , 100, 40);

pan.add(result);
// result.setBounds(42,100,100,40);

plus.addActionListener(this);
minus.addActionListener(this);
multip.addActionListener(this);
divise.addActionListener(this);

pan.add(plus);
pan.add(minus);
pan.add(multip);
pan.add(divise);

this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==plus)
{

if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1+oprt2;
result.setText(temp.toString());
}
}
if(e.getSource()==minus)
{
if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1-oprt2;
result.setText(temp.toString());
}
}
if(e.getSource()== multip)
{
if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1*oprt2;
result.setText(temp.toString());
}
}
if(e.getSource()==divise)
{
if(op1.getText().equals("")||op2.getText().equals(""))
result.setText("操作数不完整");
else
{
int oprt1 = Integer.parseInt(op1.getText());
int oprt2 = Integer.parseInt(op2.getText());
Integer temp = oprt1/oprt2;
result.setText(temp.toString());
}
}

}

public static void main(String[] args) {
// TODO Auto-generated method stub
new Calculator();
}

}
酒里香
2010-06-18 · TA获得超过409个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:163万
展开全部
这个在很多java编程学习论坛都可以找到,答案多样,有空多上上论坛看就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式