1.团队课程设计博客链接

http://www.cnblogs.com/I-love-java/p/7058752.html

2.个人负责模块或任务说明

①图形界面的初始化

②图形界面的排版设计

③主函数的编写

④监听器的设置

3.自己的代码提交记录截图

http://git.oschina.net/paitouzi/java-201521123021-3.1/commits/master

4.主要代码及其设计思路

本次计算器图形界面的设计思路是以iPhone的计算器为模板,参考iPhone的计算机界面,输出置于整个计算器的上端位置,与边界距离较小。由于这个计算器要能在电脑上使用,因此增加了一个可伸缩的功能。

	private void init() {
this.setTitle("精仿iphone计算器");
this.setResizable(true);//设置窗口体大小可变
// 主面板
JPanel mainPanel = new JPanel();//创建一个容器类的面板
// 输入框面板(北)
mainPanel.setLayout(new BorderLayout(FIELD_HGAPS,FIELD_WGAPS));//设置边界的距离
mainPanel.add(getTextField(), BorderLayout.NORTH);//将计算结果放在整个面板的北部
mainPanel.setPreferredSize(new Dimension(PRE_WIDTH,PRE_HEIGHT));//设置窗口大小

对于这个输入框的初始化依旧参考iPhone的风格,黑底白字。不像其他计算器,iPhone计算器的初始化值为0且要位于输入框的右侧。还有手机计算器不像电脑计算器可以在输入框中编辑,因此将此功能禁用,仅仅支持复制黏贴的功能。

	private JTextField getTextField() {
if (textInput == null) {
textInput = new JTextField("0");//初始值定义为0
textInput.setEditable(false);//输入框不可被编辑(仅允许复制粘贴)
textInput.setBackground(new Color(0,0,0));//设置输出背景框颜色为黑色
textInput.setForeground(new Color(255,255,255));//设置输出字体颜色为白色
textInput.setHorizontalAlignment(JTextField.RIGHT);//向右边开始对齐
textInput.setFont(new Font("宋体", Font.BOLD, 50));//设置字体样式为宋体,加粗,像素为50
}
return textInput;
}

至于数字键和符号键依旧沿用iPhone灰橙搭配的风格,将最右边置为符号键,且按键为橙色,字体为白色。保证整体格局的相似性。

private JButton[] getRButton() {
JButton[] result = new JButton[resetOp.length];
for (int i = 0; i < this.resetOp.length; i++) {
JButton b = new JButton(resetOp[i]);//完成各个按钮的匹配
if(i==3)
{
b.setBackground(new Color(250,128,10));//背景为橙色
b.setForeground(new Color(255,255,255));//字体为白色
}//判断是否为最右边那个按钮
else
{
b.setBackground(new Color(233,233,216));
}//其他按钮设置为银灰色
b.setFont(new Font("宋体", Font.BOLD, 16));//设置字体格式
b.addActionListener(getActionListener());//设置监听
result[i] = b;
}
return result;
}

4.课程设计感想

①第一次做Java课设,加上编程基础较差,在各个论坛中查阅了许多资料,学到了很多东西。

②一开始有这样的想法觉得是异想天开,后来发现,只要坚持不断的探索,不断的提问,就可以离目标更近一点。

③团队合作,可以互相监督,互相帮助,加快整个进程,不浪费在机房的一分一秒。

Java课程设计-计算器 郑子杰(201521123021)的更多相关文章

  1. JAVA课程设计 计算器模拟程序 王华俊(201521123015)

    1.团队课程设计博客链接 http://www.cnblogs.com/yuanj/p/7072137.html 2.个人负责模块或任务说明 GUI界面设计 各类之间拼接 3.自己的代码提交记录截图 ...

  2. Java课程设计——计算器团队博客

    1.团队名称.团队成员介绍(需要有照片) 1.1团队名称 707 1.2团队成员介绍 谢元将:组长 罗登宇:组员 王华俊:组员 2. 项目git地址 谢元将 罗登宇 王华俊 3. 项目git提交记录截 ...

  3. Java课程设计——计算器

    1.团队课程设计博客链接 http://www.cnblogs.com/yuanj/p/7072137.html 2.个人负责模块或任务说明 确定课题并进行任务分工 编写计算器删除,清零,清空,小数点 ...

  4. java课程设计---计算器(201521123020 邱伟达)

    1.团队课程设计博客链接 http://www.cnblogs.com/br0823/p/7064407.html 2.个人负责模板或任务说明 1.初始化按键 2.实现加减乘除开方乘方等运算 3.每个 ...

  5. JAVA课程设计-计算器(201521123028 李家俊)

    1.团队课程设计博客链接 http://www.cnblogs.com/DevilRay/p/7064482.html 2.个人负责模板或任务说明 主要负责计算器图形界面 包括操作按钮,菜单项以及输出 ...

  6. Java课程设计-计算器

    1.团队课程设计博客链接 http://www.cnblogs.com/yuanj/p/7072137.html 2.个人负责模块或任务说明 监听器的设置 3.自己的代码提交记录截图 //注册各个组件 ...

  7. Java课程设计-计算器 丁树乐(201521123024)

    1.团队课程设计博客链接 http://www.cnblogs.com/br0823/p/7064407.html 2.个人负责模块或任务说明 界面优化 各类之间拼接 3.自己的代码提交记录截图 4. ...

  8. java课程设计(计算器)

    JAVA课程 设 计 报 告 1206401-18   瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...

  9. Java课程设计----仿Windows标准型计算器

    JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...

随机推荐

  1. Python 函数装饰器和闭包

    装饰器基础知识 装饰器是可调用的对象,其参数是另一个函数(被装饰的函数). 装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象. p.p1 { margin: 0.0px ...

  2. Windows Graphics Programming Win32 GDI and DirectDraw第六章疑问

    <Windows Graphics Programming Win32 GDI and DirectDraw>6.1节中有这样的描述: The Windows NT/2000 graphi ...

  3. 静态TLS和动态TLS

    静态TLS的使用方法: #include <Windows.h> #include <iostream> #include <iomanip> using name ...

  4. Python 序列的修改、散列和切片

    Vector类:用户定义的序列类型 我们将使用组合模式实现 Vector 类,而不使用继承.向量的分量存储在浮点数数组中,而且还将实现不可变扁平序列所需的方法. p.p1 { margin: 0.0p ...

  5. vue-cli脚手架npm相关文件解读(5)vue-loader.conf.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  6. 一篇文章读懂Java类加载器

    Java类加载器算是一个老生常谈的问题,大多Java工程师也都对其中的知识点倒背如流,最近在看源码的时候发现有一些细节的地方理解还是比较模糊,正好写一篇文章梳理一下. 关于Java类加载器的知识,网上 ...

  7. wcf 上传文件报413,404和发布错误

    上传文件错误: 其实要修改所有的服务,不管是服务端还是客户端,Binding那边增加一个没有设置名字的默认配置就OK了:  <binding   closeTimeout="00:10 ...

  8. INotifyPropertyChanged(监听数据),当数据改变时调用

    public class BaseViewModel : INotifyPropertyChanged    {        public event PropertyChangedEventHan ...

  9. Python 的经典入门书籍有哪些?

    是不是很多人跟你说,学Python开发就该老老实实地找书来看,再配合死命敲代码?电脑有了,软件也有了,心也收回来了?万事俱备,唯独只欠书籍?没找到到合适的书籍?可以看看这些. 1.Python基础教程 ...

  10. Day1 - 服务器硬件基础

    1.1 关于运维人员 1.1.1 运维的职责 1.保证服务器7*24小时 运行 2.保证数据不能丢 3.提高用户的体验(网站打开的速度) 1.1.2 运维原则 简单.易用.高效  === 简单.粗暴 ...