河北工程大学科信学院
JAVA课程设计说明书
——————计算器的设计
专业班级班
课设题目
学生姓名
学生**
指导教师
提交日期  2
一、内容摘要:
运用本学期所学知识设计一个能够完成简单四则运算的计算器;以Myeclipse作为开发环境,结合之前所
学的Java根底知识共同完成。该计算器的计算结果保存了两位小数;这里简单介绍设计思想:构造出一个界面,然后往面板上粘贴各个组件,包括按钮、标签、文本框等。
二、设计目的:
通过课程设计加深对Java程序设计的理解,掌握Java程序开发的根本方法,把课堂上所学到的多个单元串到一起,提高解决问题和分析问题的能力,具体表达在以下几个方面:
1、了解Java开发一般应用程序的方法和步骤;
2、进一步强化类的定义,掌握类的继承、接口;
3、熟练掌握变量、数组的应用;
4、熟悉图形用户界面中常用组件的使用,掌握事件处理机制;
5、了解数据库连接技术JDBC、网络编程和多线程机制。
三、设计内容:
计算器的根本功能:
加法运算:用"+〞按钮进展运算;
减法运算:用"-〞按钮进展运算;
乘法运算:用 "*〞按钮进展运算;
除法运算:用 "/〞按钮进展运算;
清零键:  用〞清空〞按钮实现;
用户界面设计
该计算器程序的设计:用户界面包括Swing组件,不过程序中大都使用的是AWT组件.
import java.awt.*;
在AWT组件中:
(1)、使用了面板和按钮:
mianban 1,2,3;
private JPanel mianBan1 = new JPanel(); //面板1存放,窗
口、和清空按钮
chuangKou.add(mianBan1,BorderLayout.NORTH); //面板1,存放
窗口的北边private JPanel mianBan2 = new JPanel();
//存放其他按钮
mianBan2.add(s7);
mianBan2.add(s8);
mianBan2.add(s9);
mianBan2.add(jia);
mianBan2.add(s4);
mianBan2.add(s5);
mianBan2.add(s6);
mianBan2.add(jian);
mianBan2.add(s1);
mianBan2.add(s2);
mianBan2.add(s3);
mianBan2.add(cheng);
mianBan2.add(s0);
mianBan2.add(dian);
mianBan2.add(deng);
mianBan2.add(chu);
mianBan2.setLayout(new GridLayout(4,4)); //面板2的布局模式
Button s0,s1,s2,s3,s4,s5,s6,s7,s8,s9;
Button jia,jian,cheng,chu;
Button 清空,  =  ,  .  ;
private JPanel mianBan3 = new JPanel(); //存放标签
JLabel biaoQian0 = new JLabel("----------------------- 屠式计算器------------------------"); //标签
mianBan3.add(biaoQian0);
chuangKou.add(mianBan3,BorderLayout.SOUTH); //位于窗口南边
〔2〕、界面属性:
chuangKou.setVisible(true);
//可见
chuangKou.pack(); //把容器包起来
chuangKou.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE); //直接退出
shuRuKuang.setHorizontalAlignment(JTe*tField.RIGHT );  //编辑框文字右对齐
//chuangKou.setResizable(false);    //不能调大小
chuangKou.setLocation(500,300); //坐标
chuangKou.setSize(330,250);  //大小
〔3〕、给按钮添加背景颜:
jia.setBackground(new Color(255,50,50));
jian.setBackground(new Color(255,50,50));
cheng.setBackground(new Color(255,50,50));
chu.setBackground(new Color(255,50,50));
dian.setBackground(new Color(60,200,50));
deng.setBackground(new Color(60,200,50));
s0.setBackground(new Color(60,200,50));
s1.setBackground(new Color(60,200,50));
用java编写一个简单的计算器s2.setBackground(new Color(60,200,50));
s3.setBackground(new Color(60,200,50));
s4.setBackground(new Color(60,200,50));
s5.setBackground(new Color(60,200,50));
s6.setBackground(new Color(60,200,50));
s7.setBackground(new Color(60,200,50));
s8.setBackground(new Color(60,200,50));
s9.setBackground(new Color(60,200,50));
qingKong.setBackground(new Color(200,250,100)); //去除按钮颜
mianBan1.setBackground(new Color(200,200,255)); //mianBan1颜
mianBan3.setBackground(new Color(200,200,255)); //mianBan2颜〔4〕、事件监听:
dian.addMouseListener(new OperationMouseListener());
deng.addMouseListener(new OperationMouseListener());
a、注册四则运算监听
jia.addMouseListener(new YunSuanJianTing());
jian.addMouseListener(new YunSuanJianTing());
cheng.addMouseListener(new YunSuanJianTing());
chu.addMouseListener(new YunSuanJianTing());
b、注册数字监听事件
s0.addMouseListener(new ShuZiJianTing());
s1.addMouseListener(new ShuZiJianTing());
s2.addMouseListener(new ShuZiJianTing());
s3.addMouseListener(new ShuZiJianTing());
s4.addMouseListener(new ShuZiJianTing());
s5.addMouseListener(new ShuZiJianTing());
s6.addMouseListener(new ShuZiJianTing());
s7.addMouseListener(new ShuZiJianTing());
s8.addMouseListener(new ShuZiJianTing());
s9.addMouseListener(new ShuZiJianTing());
c、清空:
qingKong.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent e)
shuRuKuang.setTe*t(""); //清空编辑框
d、数字按钮:
private class ShuZiJianTing implements MouseListener
public void mouseClicked(MouseEvent e)
Te*t().trim().equals("0")) //如果文本框已经是0,结果还是0
shuRuKuang.setTe*t(((Source()).getTe*t().trim());
shuRuKuang.setTe*Te*t().concat(((Source ()).getTe*t().trim()));
public void mouseEntered(MouseEvent e)
public void mouseE*ited(MouseEvent e)
public void mousePressed(MouseEvent e)
public void mouseReleased(MouseEvent e)
e、运算按钮:
private class YunSuanJianTing implements MouseListener
//如果输入的是运算符号,保存第一个结果和运算符号
public void mouseClicked(MouseEvent e)
num1 = Te*t().trim();
shuRuKuang.setTe*t("");
operator = ((Source()).getTe*t().trim();
public void mouseEntered(MouseEvent e)
public void mouseE*ited(MouseEvent e)
public void mousePressed(MouseEvent e)
public void mouseReleased(MouseEvent e)
f、小数点、等号:
private class OperationMouseListener implements MouseListener
public void mouseClicked(MouseEvent e)
Source() == dian)
String te*t = Te*t().trim();
//如果按了小数点,如果文本框已经有小数点,不做任何操作,否则在结果后面加上小数点
if(te*t.inde*Of(".") == -1){
shuRuKuang.setTe*t(at("."));
}
else Source() == deng){
//如果是等号
if(!im().equals("")){
if(!Te*t().trim().equals("")){
double result = 0D;
if(operator.equals("+")){//执行加法运算
result = Double.parseDouble(num1) + Double.Te*t().trim());

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。