计算器的实现——基础篇(一)
来源:互联网 发布:人工智能 招聘 深圳 编辑:程序博客网 时间:2024/05/19 00:08
计算器的实现——基础篇(一)
看了一段时间的java基础书了,想动手实践一个小的项目,于是便拿计算器来练手。思路大体上是这样的,先完成基本功能,后续再做进一步的完善。
首先得先实现计算器的界面,这儿是采用Java的AWT实现的,选用的IDE是Eclipse,当然,你也可以选择其他的IDE。
AWT的相关理论知识
AWT即抽象窗口工具包(Abstract Window Toolkit),是Java API为Java程序提供的建立图形用户界面的基本工具集,AWT可用于Java Application和Java Applet的图形用户界面的创建。
AWT类层次结构图如下:
组件(Component)
组件是绝大多数AWT组件(如:按钮、文本框、复选框等)的父类, 是个抽象类。
容器(Container)
容器也是组件,它最主要的作用是装载其它组件,以实现图形界面上的布局。有两种类型的容器:Window和Panel。从上图可知,Window也有两个子类:Frame和Dialog;Panel有一个子类:Applet。
Panel不能单独存在,只能存在于其他容器(Window或其子类)中;一个Panel对象代表了一个长方形的区域,在这
区域中可以容纳其他组件。
布局管理器
java.awt包提供了FlowLayout、GridLayout、BorderLayout、CardLayout和GridBagLayout等5种布局方式,类似于Android的线性布局、相对布局等方式;这儿主要用到了两种布局:GridLayout和BorderLayout。
BorderLayout把容器分为5个区域:东、西、南、北和中;而GridLayout将容器分割成若干个行与列,组件被填充到每个网格中。
设计需求
拟设计一个初步的计算器版本,仅包括数字1~9,小数点.,+,-,*,/和=,另外,还有个文本显示框,用于显示结果。
设计思路
首先是布局,显然将数字1~9,小数点.,+,-,*,/和=采用GridLayout布局方式较好,4行4列;另外,考虑到文本显示框在界面的最上方,是个上下的格式,所以,计算器整体上采用BorderLayout布局方式;
其次,文本框对应的类是Label,各个按键对应的类是Button;
最后,考虑采用数组的形式存储数字1~9,小数点.,+,-,*,/和=。
代码实现
import java.awt.Button;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Label;import java.awt.Panel;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class Calculator {private String [] names = {"7","8","9","+","4","5","6","-","1","2","3","*","0",".","=","/"};private Button[] button = new Button[16];private Label label;private Panel panel;private Frame frame;public Calculator() {frame = new Frame("Calculator");label = new Label();panel = new Panel();panel.setLayout(new GridLayout(4,4));//4行4列for( int i = 0; i < 16; i++ ){button[i] = new Button(names[i]);panel.add(button[i]);}frame.add(label,"North");//填放labelframe.add(panel,"Center");//填放panelframe.pack();//点击关闭图标时,结束程序frame.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent evt){System.exit(0);}});frame.setVisible(true);}public static void main(String[] args) {new Calculator();}}实现效果
参考资料
1.《Java面向对象编程》孙卫琴老师 著
2. 百度文库《AWT工具集简介》PPT
0 0
- 计算器的实现——基础篇(一)
- 栈的应用——实现简易计算器(一)
- Java基础篇(一)-----计算器
- MFC版哈希值计算器的实现(一)
- 简单控件的应用(一)—prj计算器
- linux 下Qt初级教程(一)实现简易的计算器
- UI基础 - 简易的加法计算器实现
- C#基础之计算器的简单实现
- 一个一百亿的计算器的实现
- 一个一百亿的计算器的实现
- 计算器基础实现
- Javascript计算器(一)-基本功能实现
- javaSE基础编程——编写一个简单的计算器
- JS基础练习——简单的加减乘除计算器
- 一个一百亿的计算器的实现(java代码实现)
- oc语法基础——(switch语句用法)——简单的计算器
- 计算器——C++实现
- Android学习—计算器实现
- 714 - Copying Books
- 1152 - 4 Values whose Sum is 0
- 1442 - Cav
- 1451 - Average
- 网站加速--服务器编写篇(转)
- 计算器的实现——基础篇(一)
- jetty嵌入式 webApp开发(Simple Demo)
- 1471 - Defense Lines
- 1605 - Building for UN
- 1606 - Amphiphilic Carbon Molecules
- 1607 - Gates
- 蓝桥杯 - 分糖果 (模拟~)
- 1608 Non-boring sequences
- 1609 Foul Play