java百宝箱之计算器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机工程系

《Java程序设计》设计报告题目:百宝箱之计算器

班级:

学号:

姓名:

小组名字:

小组成员:

指导教师:

报告递交日期:2011 年 12 月 15 日

百宝箱之—计算器

想不想拥有一个小软件,打开它,里面的的小工具应有尽有,想不想拥有一个小软件,里面的东西,随你怎么添加,

想不想拥有一个小软件,里面的小工具快捷而方便,。。。。

。。。。

。。。。

现在我们将一点一点来组装出这个软件:

软件最终样式图为:

目录

第1章系统设计目的 (1)

第2章系统实现思路 (2)

第3章系统详细设计 (3)

第4章系统调试运行 (7)

第5章参考文献 (9)

第6章附录 (10)

第1章系统设计目的

设计一个包含诸多小工具的小程序,可以实现以下功能:

1:图形化计算器,能精确计算;

2:打包小工具,便于添加;

3:执行完操作后,能够顺利所有的小程序。

第2章系统实现思路

装载所需的类库,创建主类BaiBaoXiang,再创建主函数main,接着创建监听按钮btn的事件监听器,然后设计事件监听器(JiSuanQi),就可以直接在编译器中运行程序。

1:界面设计

在主界面中设计一个JFrame窗口对象,并在其中加入一个按钮btn,创建桌面层对象JDesktopPane,设置大小位置,颜色;实现窗口对象的关闭按钮;

2:功能设计

按钮中加入监听器(jisuanqi)并进行监听。设计监听器的功能;当按钮按下

时,生成计算器界面,设计生成数字键按钮,文本框,并设计监听程序; 3:代码设计

编写每个控件的相关代码,并进行调试。

第3章系统详细设计

1:界面设计

创建一个按钮;窗口对象,及关闭按钮的功能;

主要代码:

static JFrame frm = new JFrame("百宝箱");//创建窗口对象static JButton btn = new JButton("计算器");//创建按钮对象

static Container cp =frm.getContentPane();//取得内容层

static JDesktopPane jdp = new JDesktopPane();//创建桌面层对象

/*************主函数****************/

public static void main(String[] args) {

//cp.setLayout(new

FlowLayout());/////**************;;*********这个问题费了我一个早上的时间没整出来,一定几下了啦布局的限制

cp.add(btn,BorderLayout.SOUTH); //将按钮添加到内容层中

cp.add(jdp); //将桌面层对象添加到内容层里

jdp.setBackground(Color.blue); //设置桌面层颜色

btn.addActionListener(new JiSuanQi()); //设置JiSuanQi监听btn

btn.setBackground(Color.yellow); //设置按钮的颜色

frm.setBounds(500, 200, 500, 500); //设置窗口的大小位置

frm.setVisible(true); //显示窗口

/************窗口的关闭**************/

frm .addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e) //监听器接口

{

System.exit(0); //退出(释放资源)

}

});

}

2:功能设计

对每个按钮项进行注册监听。点击不同按钮项时,显示不同数字和字符。,分别写各个按钮的实现功能

主要计算核心代码

/*************事件的监听*********/

text.addActionListener(new ActionListener(){

@Override

public void actionPerformed(ActionEvent e) {

ScriptEngineManager sem1 = new ScriptEngineManager(); //创建ScriptEngineManager脚本引擎实例 (工

厂类)

ScriptEngine se1 =

sem1.getEngineByName("js");//ScriptEngine 的寻找和创建任务委托给ScriptEngineManager 实例处理//JavaScript的脚本引擎

try

{ //异常的捕获处理

int leng10 = text.getText().length(); //

取出文本框里的长度值给leng10

if(leng10 ==

0){ //判断如果值等于0,

JOptionPane.showMessageDialog(null, "对不起,

您没有任何输入,请重新输入:");

text.requestFocusInWindow();

//文本框获得焦点

}

else {

String reslut =

se1.eval(text.getText()).toString();//计算文本框内的表达式并把值传给

reslut

text.setText(text.getText()+"="+reslut); //文本框显示计算的表达式

text.requestFocus(); //文本框获得焦点

}

} catch (ScriptException e1) {

JOptionPane.showMessageDialog(null, "表达式错误,

请重新输入!");

text.setText("");

//给文本框赋值为空达到清屏作用

text.requestFocus();

//文本框获得焦点

}

}

});

相关文档
最新文档