java课设-计算数学表达式的程序,201521123050,51 团队
1.团队名称、团队成员介绍
团队名称:天空
团队成员:
肖世松

谢庆圆

2.项目git地址
3.项目git提交记录截图(要体现出每个人的提交记录、提交说明)

4.项目功能架构图与主要功能流程图

5. 项目运行截图

6.项目关键代码
界面:
public class Cal {
public static void main(String[] args) {
CalFrame f = new CalFrame();//创建并初始化被访问类的对象,形成图形界面(主程序界面)
}
}//定义含有main方法的主类Cal
class CalFrame extends Frame {//定义窗口类
double d1, d2 ,c;
int op = 0;//为下面实现接口处理异常做准备
Textfield tf;//定义文本域
CalPanelL p1;//左容器对象
CalFrame()
{
super("计算器");//设置图形界面Frame标题
setLayout(new FlowLayout(1,8,10));
setBackground(new Color(0,0,0));
setForeground(Color.white);
setResizable(false);
setSize(250,200);
setLocation(500,250);//设置Frame相应属性
tf = new TextField(22);
tf.setEditable(false);
tf.setBackground(Color.white);
tf.setForeground(Color.black);
tf.setFont(new Font("Arial",Font.BOLD,16));//定义文本框属性
add(tf);//添加文本框到图形界面
p1 = new CalPanelL();
p2 = new CalPanelR();//初始化容器
add(p1);
add(p2);//添加容器到图形界面
setVisible(true);
addWindowListener(new Wclose());//添加关闭窗口事件监听者
}//构造函数定义结束
class CalButton extends Button {//CAlButton类的域定义(内部类)
CalButton(String s){
super(s);
setBackground(Color.black);//定义按钮颜色
}
}
构造函数:
class CalPanelL extends Panel {
CalButton b0, b1, b2, b3,
b4, b5, b6, b7,
b8, b9, bPN, bPoint;//分别代
0,1,2,3,4,5,6,7,8,9,+/-,.
CalPanelL()
{
setLayout(new GridLayout(4,3));//按键布局
setFont(new Font("TimesRoman",Font.BOLD,16));//指Font对象的字体、字形、字号
b0 = new CalButton("0");
b1 = new CalButton("1");
b2 = new CalButton("2");
b3 = new CalButton("3");
b4 = new CalButton("4");
b5 = new CalButton("5");
b6 = new CalButton("6");
b7 = new CalButton("7");
b8 = new CalButton("8");
b9 = new CalButton("9");
bPN = new CalButton("+/-");
bPoint = new CalButton(".");
// 加入按钮
add(b7); b7.addActionListener(new PressB7());
add(b8); b8.addActionListener(new PressB8());
add(b9); b9.addActionListener(new PressB9());
add(b4); b4.addActionListener(new PressB4());
add(b5); b5.addActionListener(new PressB5());
add(b6); b6.addActionListener(new PressB6());
add(b1); b1.addActionListener(new PressB1());
add(b2); b2.addActionListener(new PressB2());
add(b3); b3.addActionListener(new PressB3());
add(b0); b0.addActionListener(new PressB0());
add(bPN); bPN.addActionListener(new PressBPN()); ;
add(bPoint); bPoint.addActionListener(new
PressBPoint());//注册给Press对象
}
}
实现ActionListener接口:
class PressBPN implements ActionListener {//定义实现ActionListener接口,是ActionEvent事件的监听者
public void actionPerformed(ActionEvent e) {//发生操作事件时调用actionPerformed方法
try {
String text = tf.getText();
if (text != "") {
if(text.charAt(0) == '-')
tf.setText(text.substring(1));
else if(text.charAt(0) >= '0'&&text.charAt(0)<='9')
tf.setText("-"+text.substring(0));
else if(text.charAt(0) == '.')
tf.setText("-0"+text.substring(0));
}
} catch(Exception ee) { }//检测并处理异常
}
}
7.尚待改进或者新的想法
无法提供多线程网络服务与客户端
只能进行两个数之间的运算
8.团队成员任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长
计算器界面设计,左容器设计,监听窗口事件等
右容器设计
java课设-计算数学表达式的程序,201521123050,51 团队的更多相关文章
- java课设-计算数学表达式的程序,201521123050,肖世松,个人
1.团队课程设计博客链接 http://www.cnblogs.com/xss666/p/7063780.html 2.个人负责模块或任务说明 个人负责:计算器外观,左容器CalPanelL p1: ...
- Java课程设计——计算数学表达式的程序(201521123051 谢庆圆)
计算数学表达式的程序(201521123051 谢庆圆) 1.团队课程设计博客链接 团队课程设计博客链接 2.个人负责模块或任务说明 1.计算数字表达式中操作按钮的实现(右容器) 2.. 注册监听器以 ...
- Java课设 彩票购买抽奖程序 个人博客
一.团队课程设计博客链接 http://www.cnblogs.com/lyq063/p/7072507.html 二.自己的代码提交记录截图 三.自己负责模块或任务详细说明 用户注册信息的存储和登录 ...
- JAVA课设---五子棋
1.团队博客链接 JAVA课设-五子棋-团队博客 2.个人负责模块: ①对鼠标事件的处理 , 此模块需处理五子棋的放置问题.颜色转换问题.以及当五子连线时弹出窗口显示结果. ②对MainFrame中主 ...
- JAVA课设个人博客--多源数据教学管理系统
JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...
- java课设数据库打包报错
最近在交java课设时把东西打包给老师遇到许多奇葩问题, 首先是数据库复制时提示: 这是数据库与SQL server服务没有分离(我用的是SQLserver暂时,对于其他的,我以后会继续尝试)可以进行 ...
- JAVA课设——中药古籍《太平圣惠方》数据处理与分析系统
一.配置JAVA环境 本次课设是在Windows 10(64bit)平台上实现的,所以首先得配置下JAVA环境. 步骤一:先下载一个JDK(1.7)安装包,安装好JDK: 步骤二:JDK环境配置(由于 ...
- 2018-2019学年第一学期Java课设--魔塔
目录 Magic-Towers 一.团队名称.团队成员介绍.任务分配 团队名称:MoTa 团队成员介绍 任务分配 二.项目简介 三.项目采用技术 四.项目亮点 主界面显示主要信息功能 游戏动画 五.项 ...
- Java课设--俄罗斯方块Tetris
Java程序设计课程作业报告 作业:俄罗斯方块游戏 姓名 赵璐媛 学号 程序得分 90% 作业报告 得分10% 实验总分 100% 作业目的: 掌握基本的图形程序设计方法 掌握Java事件处理程序编写 ...
随机推荐
- CSSc常用样式
一.CSS常用文本属性 1.css中的颜色表示方式 1.1直接使用颜色的单词表示:red.green.blue 1.2使用颜色的十六进制表示:#ff0000,#00ff00: ...
- Go语言Map的使用
Go 语言Map(集合) Map 是一种无序的键值对的集合.Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值. Map 是一种集合,所以我们可以像迭代数组和切片那样 ...
- Android上传图片到服务器,服务端利用.NET WCFRest服务读取文件的解决方案
在项目中遇到要将Android设备拍摄的照片上传的服务器,将文件保存在服务器本地的文件夹中,数据库中保存的是图片文件名.整个上传是将图片生成二进制流通过HTTP请求上传到服务端,服务端是基于.NET环 ...
- 设计模式(8)--Decorator--装饰器模式--结构型
1.模式定义: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 2.模式特点: 装饰模式能够实现动态的为对象添加功能,是从一个对象 ...
- textarea 空格的问题
如果textarea开始标签和结束标签中间有空格,则textarea默认有空格. <textarea name=" > </textarea> 效果图 所以,如果想去 ...
- fiddler mock ==> AutoResponder
背景 做过测试的同学,肯定都听过fiddler的大名,抓包工具,app抓包 下载传送门(https://www.telerik.com/download/fiddler) 抓包使用这里就不复述了,这次 ...
- Json安全
1.不要使用顶级JSON数组,避免被<script>标签引用. 2.使用POST+密钥获取JSON,尽量不要用GET方式. 3.不要使用eval()将对象放入内存,eval()会执行所传入 ...
- 安装zsh后出现命令行无法识别已安装的node
安装zsh之后,在命令行输入 node -v,会出现 command not found: node. 出现原因是:使用bash输入终端指令识别得是~/.bash_profile,而安装zsh则无法识 ...
- super函数没有那么简单-super原理剖析
开始之前,先出一道题: #super函数探讨 class A(object): def __init__(self): print 'A.__init__' class B(A): def __ini ...
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
第一讲 IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ...