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事件处理程序编写 ...
 
随机推荐
- SQL视图&触发器
			
SQL视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数 ...
 - JS和OC交互的简单应用
			
先简单地说一下思路吧 需求:在App中嵌入一个webView,已经有了网址,但是需要去掉这个网页中的一些内容 解决方案:取到webView要加载的网址,对这个网址对应的网页信息进行修改 简单描述: 遵 ...
 - 简单选择排序 Selection Sort 和树形选择排序 Tree Selection Sort
			
选择排序 Selection Sort 选择排序的基本思想是:每一趟在剩余未排序的若干记录中选取关键字最小的(也可以是最大的,本文中均考虑排升序)记录作为有序序列中下一个记录. 如第i趟选择排序就是在 ...
 - CentOS 7 服务器配置--配置Tomcat开机启动
			
#编辑Tomcat的文件,追加内容 vi /data/tomcat/apache-tomcat-8.0.43/bin/catalina.sh #追加内容,在CLASSPATH= 上面的第三行 CATA ...
 - Python 序列的修改、散列和切片
			
Vector类:用户定义的序列类型 我们将使用组合模式实现 Vector 类,而不使用继承.向量的分量存储在浮点数数组中,而且还将实现不可变扁平序列所需的方法. p.p1 { margin: 0.0p ...
 - MySQL用户管理:添加用户、授权、删除用户
			
文章首发于[博客园-陈树义],请尊重原创保留原文链接. 添加用户 以root用户登录数据库,运行以下命令: create user zhangsan identified by 'zhangsan'; ...
 - 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(四)用户接口层之处理SDP报文
			
当RTSP客户端向RTSP服务端发送DESCRIBE命令时,服务端理应当回复一条SDP报文. 该SDP报文中包含RTSP服务端的基本信息.所能提供的音视频媒体类型以及相应的负载能力,以下是一段SDP示 ...
 - [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
			
javascript面向对象编程方式,对于初学者来说,会比较难懂. 要学会面向对象以及使用面向对象编程,理解对象的创建在内存中的表示,至关重要. 首先,我们来一段简单的对象创建代码 var obj = ...
 - 获取token之后,再调用匿名方法
			
js获取token bpm.api.beginDownload = function (filePath, fileName) { var url = "/Home/GetToken&quo ...
 - STL简单的介绍
			
我们要知道C++的含义:C语言 + 类 + 模板 (STL就是典型的代表) STL是Standard Template Library的简称,中文名是标准模库.从根本上说,STL是一些“容器”的集合 ...