• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
往事不见它
博客园    首页    新随笔    联系   管理    订阅  订阅

java课设-计算数学表达式的程序,201521123050,51 团队

1.团队名称、团队成员介绍

团队名称:天空
团队成员:
肖世松

谢庆圆

2.项目git地址

项目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.团队成员任务分配,团队成员课程设计博客链接(以表格形式呈现),标明组长

  • 肖世松(组长)
计算器界面设计,左容器设计,监听窗口事件等
  • 谢庆圆
右容器设计
posted @ 2017-06-22 11:02  往事不见它  阅读(604)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3