1、JAVA语言课程设计湖南理工学院南湖学院机电系课 程 设 计 课程名称:Java程序设计课题名称:计算器系统设计姓 名: 周敏 学 号: 24092401630班 级:南湖学院机电系09级计算机班2011年13一引言 31.JAVA用户界面概述3二设计内容 3三设计过程 41. JAVA界面设计的描述 4 2. 程序中的类设计 43.系统知识点 44.简要流程的设计 5 四代码实现 6五实验结果12六实验总结12计算器的设计与实现一 引言1.JAVA用户界面概述图形用户界面(Graphics User Interface,缩写GUI)是指以图形的显示方式与用户实现交互操作的应用程序界面,设计具
2、有GUI特征的应用程序被称为GUI应用程序设计。Java提供了十分完善的图形用户界面功能,使得软件开发人员可以轻松地开发出功能强大、界面友善、安全可靠的应用城建,充分体现了Java语言的时代感与面向对象程序设计的优越性。在Java 语言中,为GUI应用程序设计提供了强大的功能,其相关的类主要封装在两包(java.awt 和javax.swing)中,其中包含了实现图形用户界面的所有基本元素,这些基本元素主要包括容器、组件、绘图工具与布局管理器等。组件是与用户实现交互操作的部件,容器是包容组件的部件,布局管理器是管理组件在容器中布局的部件,绘图工具是绘制图形的部件。java.awt是java1.
3、1用来建立GUI的图形包,这里的“awt”是抽象窗口工具包。JAVA设计用户界面需要以下四个基本步骤:(1).创建和设置组件,(2).将组件加入到容器中,(3).布局组件,(4).处理有组建产生的事件。随着科学技术和社会经济的不断发展,日常生活中我们必须和计算不停地打交道,这就对个人的计算能力有了很高的要求,有时候难免会出错,所以就需要一种机器去代替繁琐的计算过程并且能快速得出正确的结果。计算器的出现解决了这种问题。现在计算机已经成为我们工作学习和生活中不可缺少的工具。在学习了Java语言之后,我使用Java语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需要。二
4、 设计内容该程序是一个图形界面的简单的java计算器,使用人员能快捷简单地进行操作即时准确地获得需要的计算的结果,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除,以及求倒数,正弦,余弦,正切等等一些基本的功能),有退格功能, 归零功能。三 设计过程1. 界面的设计的描述界面布局:创建二个面板,一个面板先将所有按钮:所有数字键和运算符键等放在面板上,采用网格布局,具体设计为5行,5列的网格,25个格子用来放置一些功能键和数字键。第二个面板放置显示结果。然后,对以上两个面板,采用BorderLayout布局,将按键面板放在计算机的中部,将文本框放在计算器界面的上部。 2. 程序中
5、的类的设计本程序设计了三个类,一个是控制界面布局的面板容器类,其中,包含两个以内部类形式定义的监听器类;一个是外层窗口类;另一个是检测使用情况的测试类。 3系统知识点:在程序中需要使用的包:import java.awt.*;import javax.swing.*;import java.awt.event.*; 外层窗口类: JFrame类是Java类库提供的顶层窗口类,定义其子类的时候根据需要给予相应的设置或者重新定义。 在外层窗口类中可以设置窗口的大小setSize(X, X);窗口是否可见setVisible(X );窗口是否可以调节setResizable(X);设置窗口标题栏显示
6、的内容setTitle();设置在桌面上显示的位置setLocation(X,Y)。 面板容器类: JLable 显示结果标签。Jpanel面板容器用来放置一些组件;Boolean start判断是否为数字的开始;lastCommand 保存“=”“+”“-”“*”等命令。GridLayout(int x int y)创建X行X列的网格布局管理器。创建按钮Button并使用add()方法加入面板中并为其注册监听器。ActionListener 监听类接口 当单击数字键或者功能键后,系统将调用下面的两个成员方法InsertAction内部类,其中定义了成员方法actionPerformed(Ac
7、tionEvent event)进行监听数字,实现拼接数字的功能。CommandAction内部类,其中定义了成员方法actionPerformed(ActionEvent event)监听一些功能按钮,实现计算、初始化数值的功能。public void calculate(double x)主要用于功能符号(如“+”“-”“sin”“1/x”)的运算.如sin、cos、tin等直接调用了math中的方法。display.setText(+ result)显示运算后的结果。 测试类 public class TestCalculatorClass中的方法用测试程序的结果。 4.简要的设计流程创
8、建窗口构造计算器界面结构对各个按钮添加事件监听器ActionListener以及事件处理输出显示区域功能键按钮(网)数字符号及运算符按钮(网)数字键按钮事件处理运算符键按钮事件处理功能键按钮事件处理完成java源代码编写调试修改程序,完善模拟计算器功能(边)(边) 四 代码实现外层窗口类代码:import java.awt.*;import javax.swing.*;public class CalculatorFrameClass extends JFrame /顶层容器类 public CalculatorFrameClass() setTitle(Calculator周敏制作);/标题
9、 Container contentPane = getContentPane(); CalculatorPanelClass panel = new CalculatorPanelClass(); contentPane.add(panel);/将面板加入容器 setSize(600, 400);/面板大小 setLocation(300,200);/桌面位置 setBackground(Color.black);/背景颜色 setVisible(true);/窗口可见 setResizable(false);/窗口不可调节 面板类代码:import java.awt.*;import ja
10、va.awt.event.*;import javax.swing.*;import java.awt.Color.*;public class CalculatorPanelClass extends JPanel /计算器界面类 private JLabel display;/显示结果标签 private JPanel panel; /面板 private double result; /结果 private String lastCommand; / 保存运算符号 private boolean start; / 判断是否数字的开始 public CalculatorPanelClass
11、() /面板设计 setLayout(new BorderLayout(); result = 0; lastCommand = =; start = true; display = new JLabel(0, SwingConstants.RIGHT); display.setForeground(Color.black); /设置前景颜色 display.setBorder(BorderFactory.createCompoundBorder( BorderFactory.createLineBorder(Color.black), BorderFactory.createEmptyBor
12、der(5, 5, 5, 5); add(display, BorderLayout.NORTH); ActionListener insert = new InsertAction(); /监听器 ActionListener command = new CommandAction(); JButton zhengxian,yuxian,zhengqie,kaipingfang,zhengfuhao,daoshu,tuige,qingling; zhengfuhao =new JButton(+/-); tuige=new JButton(Backspace); qingling=new JButton(C); zhengxian=new JButton(sin); yuxian=new JButton(cos); zhengqie=new JButton(tin); kaipingfang=new JButton(%); daoshu=new JButton(1/x); daoshu.setForeground(Color.BLUE); kaipingfang.setForeground(Color.BLUE); zhengqie.setForeground(Color.BLUE); yuxi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1