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. 【LeetCode】数组-1(643)-返回规定长度k的最大子数组的平均数

    好久没有刷LeetCode了,准备重拾并坚持下去,每天刷个两小时.今天算是开始的第一天,不过出师不利,在一道很简单的题目上墨迹半天.不过还好,现在踩过的坑,应该都不会白踩,这些可能都是以后程序员路上稳 ...

  2. win7(iis7)localhost可以访问127.0.0.1不可以访问的问题解决办法

    在C:\Windows\System32\drivers\etc文件夹下有hosts文件,用编辑器打开,看看有没有配置127.0.0.1 localhost 把前面的#去掉保存即可!

  3. EXT.NET复杂布局(二)——报表

    前面提到过工作台(<EXT.NET复杂布局(一)--工作台>)了,不知道各位看过之后有什么感想.这次就介绍介绍使用EXT.NET画几个报表. 看图写作从小学就开始了,如图: 图一 图二 图 ...

  4. JQuery中的回调对象

    JQuery中的回调对象 回调对象(Callbacks object)模块是JQuery中的一个很基础的模块,很多其他的模块(比如Deferred.Ajax等)都依赖于Callbacks模块的实现.本 ...

  5. NetBeans主题配色方案加设置.md

    1.网上下载主题的地址是:http://netbeansthemes.com/ **上面的主题我看了下但是感觉不太适合自己所以自己就仿照的设置了下下面我附上自己的配置信息 感兴趣的可以下载下来自己看下 ...

  6. linux基础简答(1)

    linux基础简答题 扇区及其4个主分区的原因 在第一个扇区中,保存着引导记录和分区信息,容量为512bytes,主引导记录(相当于MBR)446 bytes,分区表64bytes,记录每个分区信息要 ...

  7. (译)package.json详解

    原文链接 概述 本文囊括了所有package.json文件中你需要知道的细节.注意package.json必须是纯JSON的,而不仅仅是一个JavaScript对象字面量.该文件描述的很多行为都受np ...

  8. linux各个文件夹的用途

    英文: /bin: where binary programs live. /boot: the special programs that start the system when you tur ...

  9. 如何成为一个优秀的java程序员

    Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果. 1. 为代码添加注释(Add comments to your ...

  10. MAVEN 编译打包时报“.....找不到符号” 的处理方法总结

    这个错都是在MAVEN插件在编译的时候报的,所以问题一定是出在编译的环节上. 这个时候就要好好检查MAVEN的编译配置, 1.看看配置里的编译版本和本机环境上配置的java版本是否一致,有时候报错的类 ...