java课设-计算数学表达式的程序,201521123050,肖世松,个人
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,肖世松,个人的更多相关文章
- java课设-计算数学表达式的程序,201521123050,51 团队
1.团队名称.团队成员介绍 团队名称:天空 团队成员: 肖世松 谢庆圆 2.项目git地址 项目git地址 3.项目git提交记录截图(要体现出每个人的提交记录.提交说明) 4.项目功能架构图与主要功 ...
- 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事件处理程序编写 ...
随机推荐
- 利用Div+CSS(嵌套+盒模型)布局页面完整实例流程
Div+CSS(嵌套+盒模型)布局页面完整实例流程: <!DOCTYPE html><html> <head> <meta charset="UT ...
- webpack教程(四)——css的加载
首先要安装css的loader npm install css-loader style-loader --save-dev 然后在webpack.config.js中配置如下代码 意思是先用css- ...
- js For循环练习。
一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 var i = 1; var height = 0.0001; while(true){ height *= 2; if( ...
- SLF4J源码解析-LoggerFactory(一)
slf4j的含义为Simple logging facade for Java,其为简单的为java实现的日志打印工具,本文则对其源码进行简单的分析 JAVA调用SLF4J public class ...
- asp.net core MVC 过滤器之ActionFilter过滤器(二)
本系类将会讲解asp.net core MVC中的内置全局过滤器的使用,将分为以下章节 asp.net core MVC 过滤器之ExceptionFilter过滤器(一) asp.net core ...
- 九天学会Java,第三天,选择结构
选择结构 变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 上一节介绍了Java的算术运算,如加减乘除 ...
- 新博客在SEO方面需要注意哪几点?
无论是什么程序的博客,都应该注意这重要的几点! 第一点:网站目标明确进入主题,有些人对于SEO不是特别熟悉,或者说没有接触过.当你做好一个网站,不管网站内容是什么,首先你都得了解最基本的SEO,比如网 ...
- SSH:分页实现
StudentAction: public class StudentAction extends ActionSupport { // 初始化下拉列表 @Resource private Stude ...
- 如何在环境变量里配置tomcat
安装好后,配置环境变量:计算机--右击--属性--高级系统设置设置--环境变量 4 新建系统变量 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0(这个 ...
- MySQL存储引擎中的MyISAM和InnoDB区别
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点 ...