计算器的实现——基础篇(一)

计算器的实现——基础篇(一)

    看了一段时间的java基础书了,想动手实践一个小的项目,于是便拿计算器来练手。思路大体上是这样的,先完成基本功能,后续再做进一步的完善。

  首先得先实现计算器的界面,这儿是采用Java的AWT实现的,选用的IDE是Eclipse,当然,你也可以选择其他的IDE。
 AWT的相关理论知识
   AWT即抽象窗口工具包(Abstract Window Toolkit),是Java APIJava程序提供的建立图形用户界面的基本工具集,AWT可用于Java ApplicationJava 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");	//填放label
		frame.add(panel,"Center");	//填放panel
		frame.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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值