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

http://www.cnblogs.com/xss666/p/7063780.html

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

个人负责:计算器外观,左容器CalPanelL p1: 数字键按钮等。

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

4.自己负责模块或任务详细说明

界面

import java.awt.*;
import java.awt.event.*;
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对象
}
}
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) { }//检测并处理异常 }
}//其他键位类似

关闭窗口并退出程序:

class Wclose extends WindowAdapter//用窗口上的关闭按钮关闭窗口
{
public void windowClosing(WindowEvent e) //关闭窗口事件处理
{
System.exit(0);
}
}
}

5.课程设计感想

界面设计,开始设计不太合理,以至于各类功能键排序不合理,看起来杂乱无章,既不美观也不实用。经过多次调整程序终于能使界面美观实用。

通过编写这个相对复杂的程序,认识解决实际问题前应先建立模型,再通过建立的模型使问题简单化,从而解决问题。并且这次编写的程序大部分是通过调用各包中的方法来实现的,这也让我充分理解了包和类的调用关系。由于这次编写的程序比较复杂,所以不能一次性编写、调试,也由此让我学会把程序分块,逐个编写、调试。

java课设-计算数学表达式的程序,201521123050,肖世松,个人的更多相关文章

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

    1.团队名称.团队成员介绍 团队名称:天空 团队成员: 肖世松 谢庆圆 2.项目git地址 项目git地址 3.项目git提交记录截图(要体现出每个人的提交记录.提交说明) 4.项目功能架构图与主要功 ...

  2. Java课程设计——计算数学表达式的程序(201521123051 谢庆圆)

    计算数学表达式的程序(201521123051 谢庆圆) 1.团队课程设计博客链接 团队课程设计博客链接 2.个人负责模块或任务说明 1.计算数字表达式中操作按钮的实现(右容器) 2.. 注册监听器以 ...

  3. Java课设 彩票购买抽奖程序 个人博客

    一.团队课程设计博客链接 http://www.cnblogs.com/lyq063/p/7072507.html 二.自己的代码提交记录截图 三.自己负责模块或任务详细说明 用户注册信息的存储和登录 ...

  4. JAVA课设---五子棋

    1.团队博客链接 JAVA课设-五子棋-团队博客 2.个人负责模块: ①对鼠标事件的处理 , 此模块需处理五子棋的放置问题.颜色转换问题.以及当五子连线时弹出窗口显示结果. ②对MainFrame中主 ...

  5. JAVA课设个人博客--多源数据教学管理系统

    JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...

  6. java课设数据库打包报错

    最近在交java课设时把东西打包给老师遇到许多奇葩问题, 首先是数据库复制时提示: 这是数据库与SQL server服务没有分离(我用的是SQLserver暂时,对于其他的,我以后会继续尝试)可以进行 ...

  7. JAVA课设——中药古籍《太平圣惠方》数据处理与分析系统

    一.配置JAVA环境 本次课设是在Windows 10(64bit)平台上实现的,所以首先得配置下JAVA环境. 步骤一:先下载一个JDK(1.7)安装包,安装好JDK: 步骤二:JDK环境配置(由于 ...

  8. 2018-2019学年第一学期Java课设--魔塔

    目录 Magic-Towers 一.团队名称.团队成员介绍.任务分配 团队名称:MoTa 团队成员介绍 任务分配 二.项目简介 三.项目采用技术 四.项目亮点 主界面显示主要信息功能 游戏动画 五.项 ...

  9. Java课设--俄罗斯方块Tetris

    Java程序设计课程作业报告 作业:俄罗斯方块游戏 姓名 赵璐媛 学号 程序得分 90% 作业报告 得分10% 实验总分 100% 作业目的: 掌握基本的图形程序设计方法 掌握Java事件处理程序编写 ...

随机推荐

  1. css的定位和浮动

    定位 浮动 float代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  2. 【Linux】MySQL解压版安装及允许远程访问

    安装环境/工具 1.Linux( centOS 版) 2.mysql-5.6.31-linux-glibc2.5-x86_64.tar 安装步骤 1.下载mysql解压版(mysql-5.6.31-l ...

  3. 【Maven】 install:install-file

    install jar to local fs mvn .jar -DgroupId=com.bonc -DartifactId=licenseVerify-.jar -Dversion= -Dpac ...

  4. C语言 入门程序

    #include "stdio.h" #include "stdlib.h" #include "string.h" #define MAX ...

  5. 知名渗透测试利器分享 - Appscan下载

    安全测试应该是测试中非常重要的一部分,但他常常最容易被忽视掉. 尽管国内经常出现各种安全事件,但没有真正的引起人们的注意.不管是开发还是测试都不太关注产品的安全.当然,这也不能怪我们苦B的" ...

  6. 手把手封装数据层之DataUtil数据库操作的封装

    上一篇我们写完了数据库连接的封装 没有看的请移步上一篇关于数据库连接的内容 这次我们讲数据库操作的封装.数据库的操作就是增删改查:心再大一点就可以直接分为查询和其他. 因为查询是有返回对象的,而其他都 ...

  7. c#实现服务端webSocket

    现阶段socket通信使用TCP.UDP协议,其中TCP协议相对来说比较安全稳定!本文也是来讲解TCP为主(恕在下学艺不精). 下面是个人理解的tcp/ip进行通讯之间的三次握手! 1.客户端先发送报 ...

  8. 【Linux部署 · JDK】在linux系统安装jdk

    1,检查是否安装jdk   echo $JAVA_HOME 或者java -version   2,查看操作系统,很明显这是一个相当old的操作系统,i686是32位操作系统.   3,在oracle ...

  9. POI实现excel各种验证和导入的思路总结

      制定标准 导入总是与导出相辅相成的,无规矩不成方圆.所谓的标准都是大家一同来维护和遵守的,那么首先就是制定一个模板. 这样可以减少验证的工作量. 例如时间的规范[yyyy-MM-dd],获取单元格 ...

  10. .net分布式压力测试工具(Beetle.DT)

    肯定有人会问为什么会写这样一个开源工具?和现有的有什么差别?不过对于一个程序员来说写东西还真不需要理由的:),主要原因是工作有点闲(开玩笑),不过说实话一个程员怎可能会停止写代码呢(作为一个奔4的程序 ...