用源码论述Eclipse学习体会.docx

上传人:b****8 文档编号:27902851 上传时间:2023-07-06 格式:DOCX 页数:19 大小:24.17KB
下载 相关 举报
用源码论述Eclipse学习体会.docx_第1页
第1页 / 共19页
用源码论述Eclipse学习体会.docx_第2页
第2页 / 共19页
用源码论述Eclipse学习体会.docx_第3页
第3页 / 共19页
用源码论述Eclipse学习体会.docx_第4页
第4页 / 共19页
用源码论述Eclipse学习体会.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

用源码论述Eclipse学习体会.docx

《用源码论述Eclipse学习体会.docx》由会员分享,可在线阅读,更多相关《用源码论述Eclipse学习体会.docx(19页珍藏版)》请在冰豆网上搜索。

用源码论述Eclipse学习体会.docx

用源码论述Eclipse学习体会

课程论文

课程名称软件开发工具

论文题目用源码论述Eclipse学习体会

学生专业

学生班级

学生学号

学生姓名

任课老师

用源码论述Eclipse学习体会

摘要:

在java程序开发上,Eclipse所能给编译java程序带来了许多的方便。

通过一段时间的学习,对此开发软件有了更加深入更加系统的了解。

同时我们通过Eclipse集成开发平台也做了许多次实验,特别是在我使用java语言设计计算器程序,给了我带来很多关于Eclipse方面的学习体会,以此系统的把对Eclipse开发工具的使用与源码相结合做一个全面的总结,找出操作过程中的存在的不足,不断完善自己在编程和使用开发工具方面的能力,提高个人的综合实力水平。

关键字:

EclipseJava计算器

正文:

Eclipse简介:

(1)Eclipse体系结构

Eclipse是一种通用工具平台-一普遍适用的开放式扩展IDE。

它提供了功能丰富的开发环境,允许开发者高效地创建一些能够无缝集成到Eclipse平台中的工具

Eclipse的设计思想是:

一切皆为插件!

Eclipse的核心是非常小的,其它的所有功能都是以插件的形式附加在这个核心之上。

这样的功能插件包括它的图形API(SWT/JFace)、Java开发环境插件(JDT)、插件开发环境(PDE)等。

Eclipse对这些插件的协同工作提供了良好的支持,不仅安装简单,而且还可以无缝结合。

Eclipse加载插件有静态和动态之分。

所谓静态就是Eclipse启动时就加载,例如JDT、PDE等插件;所谓动态加载,就是Eclipse启动完成后,如果有事件发生,Eclipse会根据事件的ID的不同,自动加载对应的插件。

当插件不再被使用时,它就会被在适当的时候清除出内存,因此即使装了一大堆插件里,也不必拍心某些不常用的插件白白占着内存。

(2)图形API

Eclipse界面非常像亮,如果不事先告之.仅从界面上是活不出任何Java程序的影子。

Java的标推图形API:

AWT/Swing直是被人垢病的。

用它写成的界面不够美观,界面响应速度还慢。

Eclipse的SWT/JFace图形API彻底地改变了这一状况。

主要原因是SWT/JFace与AWT/Swing在实现上有很大不同:

后者是模拟本机窗口组件,而前者则直接调用本机窗口组件,当本机投有所需组件时才进行摸拟。

当然SWT/JFace这种实现方祛也是有缺点的,它没有Java的跨操作系统的特性,每一个操作系统要用Eclipse都需要移植一次SWT/JFace,这也是SWT/JFace最具争议的地方,不过因为SWT/JFace己经移植到了几个主流的操作系统平台,所以这已经不再是一个什么严重的问题了。

(3)开放式、可扩展的IDE

Eclipse有极为强大的集成开发环境,它集成了CVS、Junit和Ant,强大的代码重构功能傲视群雄。

因为Eclipse的安装包集成了Java开发环境的插件JDT。

所以Eclipse默认是一个和Jbuilder类似的Java开发工具。

但Eclipse不仅仅只是Java的开发工具,我们只需安装一个C/C++插件,就可以把它当成C/C++开发工具。

只要有相应的插件,Eclipse也可以用做其它语言的开发工具。

Eclipse抽件扩展机制是其最突出的特点和优势,它使Eclipse提升到了一个平台的高度。

我们可以利用Eclispe的插件开发环境

(PDE)来开发自己的Eclispe插件,随己所需地扩展Eclipse的功能。

这样的插件形式是多种多样的,它可以是一种编程工具,如C/C++,JSP,PHP等;也可以是一个应用系统,如信息管理系统。

Eclispe的插件机制使得Eclipse具有无限扩展的可能,插你想插的一切!

Eclipse—插件平台

(4)Eclipse的总结

Eclipse集成开发平台的强大,使其收到许多开发人员的青睐。

我们知道此集成开发平台的目标不仅仅限于开发java,因为它允许构建与Eclipse环境无缝集成工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

基于Eclipse开发工具的使用,程序的图形界面美观和响应速度快,能给开发人员带来的很大的福音,是 时代进步的一个小小步伐,同时就能给我们在开发软件方面带来了美感和提高开发效率;

在学习Eclipse软件开发工具的过程中,经过我的多次实验,终于在Eclipse开发平台上完成了一个简单的计算器java程序,这是我一学期的学习成果,也是我的实践成果。

此计算器具有功能为:

加、减、乘、除、阶乘、倒数、平方根计算功能以及清除计算值的功能,还添加了M键的功能。

设计过程

需要引进的类:

awt图形编程中:

java.awt.BorderLayout//区域布局

java.awt.Color//提供颜色空间

java.awt.GridLayout//以矩阵网格形式布局

java.awt.event.ActionEvent

java.awt.event.ActionListener

swing界面组件中

javax.swing.JButton//按钮

javax.swing.JFrame//窗体

javax.swing.JPanel//面板容器

javax.swing.JTextField//文本框

接着定义计算器上的按键功能显示符号。

用数组KEYS[]来存放符号键,数组COMMAND[]存删除键、初始化、清除键符号:

Backspace,CE,C;以及创建文本框对象resultText,分别给它们创建按钮,同时还需要定义一些在计算过程中要做出的判断条件,代码如下:

privatestaticfinallongserialVersionUID=-1516581450261334610L;

/**计算器上的键的显示名字*/

privatefinalString[]KEYS={"7","8","9","/","sqrt","4","5","6",

"*","!

","1","2","3","-","1/x","0","+/-",".","+","="};

/**计算器上的功能键的显示名字*/

privatefinalString[]COMMAND={"Backspace","CE","C"};

/**计算器上键的按钮*/

privateJButtonkeys[]=newJButton[KEYS.length];

/**计算器上的功能键的按钮*/

privateJButtoncommands[]=newJButton[COMMAND.length];

/**计算结果文本框*/

privateJTextFieldresultText=newJTextField("0");

//标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字

privatebooleanfirstDigit=true;

//计算的中间结果。

privatedoubleresultNum=0.0;

//当前运算的运算符

privateStringoperator="=";

//操作是否合法

privatebooleanoperateValidFlag=true;

然后就应该开始构建函数,设置计算器界面。

构建初始化函数,定义好计算器名称,显示位置,背景等属性,构建计算器按键的容器,利用网格布局器的排版,把功能键符号分别放到合适位置。

接下来,要设定好计算器的显示格式。

1.文本框的设置:

文本框是用于显示输入或输出数字。

设置好文本框内数字的对齐方式,背景为白色,使用户结果时能清楚明了。

不许修改结果文本框。

resultText.setHorizontalAlignment(JTextField.RIGHT);

//不允许修改结果文本框

resultText.setEditable(false);

//设置文本框背景颜色为白色

resultText.setBackground(Color.white);

2.基本键的设置:

将键放在画板内,用网格布局器排布,因为功能键共20个,所以设置为4行5列的网格形式。

按键的前景颜色统一为白色,背景为黑色。

此部分如下图:

JPanelcalckeysPanel=newJPanel();

//用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

calckeysPanel.setLayout(newGridLayout(4,5,3,3));

for(inti=0;i

keys[i]=newJButton(KEYS[i]);

calckeysPanel.add(keys[i]);

keys[i].setForeground(Color.white);

keys[i].setBackground(Color.black);

}

//运算符键用红色标示,其他键用蓝色表示

keys[3].setForeground(Color.white);

keys[8].setForeground(Color.white);

keys[13].setForeground(Color.white);

keys[18].setForeground(Color.white);

keys[19].setForeground(Color.white);

//初始化功能键,都用红色标示。

将功能键放在一个画板内

JPanelcommandsPanel=newJPanel();

//用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

commandsPanel.setLayout(newGridLayout(1,3,3,3));

for(inti=0;i

commands[i]=newJButton(COMMAND[i]);

commandsPanel.add(commands[i]);

commands[i].setForeground(Color.white);

commands[i].setBackground(Color.black);

}

在设置好界面后,就开始处理各个按键的事件处理。

(1)Backspace键:

删除或叫退格,将目前文本框内的最后一个字符去掉;如果文本框只有一个数字,则将它改成0;如果文本框内没有内容,则初始化计算器的各种值。

(2)数字键和小数点:

如果输入的是小数点,而且之前没有小数点,则将小数点附在当前文本框结果的后面;如果输入的是数字,则将数字附在当前文本框结果后面。

(3)C键:

将初始化计算器的各种值。

(4)运算符键:

如果是除法,则当除数为0时提示错误信息“除数不能为0”;如果是倒数,当结果文本框为0时,也应提示错误信息“零没有倒数”;如果是百分号运算,则将结果文本框除以100,得到答案;如果是正负号运算,则将结果文本框乘以-1,得到答案。

也应当注意双精度浮点数的运算。

在处理好按键的各种功能后,就应该处理从结果文本框中获取数字。

最后,写出程序的主函数,设置程序的开始运行。

程序运行截图:

1.初始化界面:

2.当0为除数时:

3.计算0的倒数:

4.阶乘!

5.计算平方根:

6.Backspace键的使用:

7.四则运算(以加法为例:

4+5):

心得体会:

虽然以前多多少少接触过Eclipse这个开发工具,但是我并不了解它。

然而经过一个学期软件开发工具的学习,我对Eclipse有了更加的了解,系统的获知了有关于Eclipse开发工具的知识,为我未来的开发又添加了一些技能基础。

要想打胜仗,不仅仅需要有一个好武器,还需要使用好武器的技能,否则武器就会成为一块废铁;开发程序也不例外,有如Eclipse这样的优秀开发平台,仅仅有它不行,还必须学会如何使用它,如何快捷,高效的使用它,才是我们要追求的目标。

当我接触到软件开发工具这门课时,我很是激动,因为对于开发程序来说,开发工具就像是一把利剑,有了利剑才会让我们的软实力绽放出来。

倘若你的编程能很好,但你却对于使用开发工具一窍不通,那么你在开发的过程中就会遇到很多的麻烦,速度也会很慢,效率很低,这些简直是浪费生命的行为。

所以学好一些必要的软件开发工具是很有必要的。

在接下来的学习中,我学到了Eclipse的环境、平台体系结构和Eclipse集成开发环境,及在Eclipse中如何进行java开发,详细讲述Java代码的编写及Java代码的编译和调试;并经过第一次的上机实验我掌握了实际运用Eclipse环境来进行java编程。

另外我也学习到了单元测试的方法和步骤以及TDD(软件驱动开发)和SWT程序开发,最后还了解到了MYSQL及建模工具的一些知识。

另外通过课堂外的五次上机实验实际操作了在Eclipse环境下的一些关于java编程以及调试的相关过程加深了我对Eclipse的学习。

在这门课程外,通过另外一门《Java程序设计与实践教程》的学习,使我对使用java编程知识有了一定的基础知识掌握,让我更好的来学习《计算机软件工具》,更容易理解其中的知识,同时通过这门课程的学习我也知道了java的重要性。

在学完这门课后,我利用Eclipse平台完成了一个简单计算器,设计开发计算器的过程,我学会在Eclipse环境下调试并运行,在不会的地方可以从书上、网上或者帮助文档上面查找资料。

也充分地意识到自己在java语言上知识量的不足与缺陷,充分意识到要想充分展现自己的编程水平,最起码最基本的就是要熟练运用开发平台。

同时在这些实践中学会以及领悟了许多:

Eclipse功能强大,但最重要的是学会并且熟练的使用Eclipse,因为这样能提高我们工作是效率,节约时间;遇到错误时千万不要轻易说出放弃,因为没有劳动就不会有成果,往往在我们遇到问题,解决问题的时候才会让我们学到知识;再者就是要有耐心,开发程序的过程是跟代码打交道,很容易出现错误。

现在我们正在学习阶段,既然以选择这样一个充满创造力与刺激的职位方向,那么我们应该需要具有上面所说的基本素质。

通过此次的编程学习,使我对java语言和Elipse有了更深的认识和了解,同时通过此次的编程我也认识到自己所存在的大量的不足,还需要更努力更进一步的学习。

在以后,我会慢慢了解Eclipse的强大功能,深入学习,在编写程序的能力上争取不断的提高。

参考文献:

1《Java核心编程技术》电子工业出版社刘中兵Java研究室编著

2《Eclipse从入门到精通》清华大学出版社强锋科技陈刚编著

3《精通Eclipse》清华大学出版社张大治应群编著

4《Java程序设计与实践教程》清华大学出版社王薇董迎红编著

程序源代码:

packagetest;

importjava.awt.BorderLayout;

importjava.awt.Color;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

importjavax.swing.JTextField;

/**一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。

但还不支持键盘操作。

*/

publicclassCalculatorextendsJFrameimplementsActionListener{

privatestaticfinallongserialVersionUID=-1516581450261334610L;

/**计算器上的键的显示名字*/

privatefinalString[]KEYS={"7","8","9","/","sqrt","4","5","6",

"*","!

","1","2","3","-","1/x","0","+/-",".","+","="};

/**计算器上的功能键的显示名字*/

privatefinalString[]COMMAND={"Backspace","CE","C"};

/**计算器上键的按钮*/

privateJButtonkeys[]=newJButton[KEYS.length];

/**计算器上的功能键的按钮*/

privateJButtoncommands[]=newJButton[COMMAND.length];

/**计算结果文本框*/

privateJTextFieldresultText=newJTextField("0");

//标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字

privatebooleanfirstDigit=true;

//计算的中间结果。

privatedoubleresultNum=0.0;

//当前运算的运算符

privateStringoperator="=";

//操作是否合法

privatebooleanoperateValidFlag=true;

/**构造函数*/

publicCalculator(){

super();

//初始化计算器

init();

//设置计算器的背景颜色

this.setBackground(Color.LIGHT_GRAY);

this.setTitle("计算器");

//在屏幕(500,300)坐标处显示计算器

this.setLocation(500,300);

//不许修改计算器的大小

this.setResizable(false);

//使计算器中各组件大小合适

this.pack();

}

/**初始化计算器*/

privatevoidinit(){

//文本框中的内容采用右对齐方式

resultText.setHorizontalAlignment(JTextField.RIGHT);

//不允许修改结果文本框

resultText.setEditable(false);

//设置文本框背景颜色为白色

resultText.setBackground(Color.white);

//初始化计算器上键的按钮,将键放在一个画板内

JPanelcalckeysPanel=newJPanel();

//用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

calckeysPanel.setLayout(newGridLayout(4,5,3,3));

for(inti=0;i

keys[i]=newJButton(KEYS[i]);

calckeysPanel.add(keys[i]);

keys[i].setForeground(Color.white);

keys[i].setBackground(Color.black);

}

//运算符键用红色标示,其他键用蓝色表示

keys[3].setForeground(Color.white);

keys[8].setForeground(Color.white);

keys[13].setForeground(Color.white);

keys[18].setForeground(Color.white);

keys[19].setForeground(Color.white);

//初始化功能键,都用红色标示。

将功能键放在一个画板内

JPanelcommandsPanel=newJPanel();

//用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

commandsPanel.setLayout(newGridLayout(1,3,3,3));

for(inti=0;i

commands[i]=newJButton(COMMAND[i]);

commandsPanel.add(commands[i]);

commands[i].setForeground(Color.white);

commands[i].setBackground(Color.black);

}

//下面进行计算器的整体布局,将calckeys和command画板放在计算器的中部,

//将文本框放在北部,将calms画板放在计算器的南部。

//新建一个大的画板,将上面建立的command和calckeys画板放在该画板内

JPanelpanel1=newJPanel();

//画板采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为3象素

panel1.setLayout(newBorderLayout(3,3));

panel1.add("North",commandsPanel);

panel1.add("South",calckeysPanel);

//建立一个画板放文本框

JPaneltop=newJPanel();

top.setLayout(newBorderLayout());

top.add("Center",resultText);

//整体布局

getContentPane().setLayout(newBorderLayout(3,5));

getContentPane().add("North",top);

getContentPane().add("Center",panel1);

//为各按钮添加事件侦听器

//都使用同一个事件侦听器,即本对象。

本类的声明中有implementsActionListener

for(inti=0;i

keys[i].addActionListener(this);

}

for(inti=0;i

commands[i].addActionListener(this);

}

}

/**处理事件*/

publicvoidactionPerformed(ActionEvente){

//获取事件源的标签

Stringlabel=e.getActionCommand();

if(label.equals(COMMAND[0])){

//用户按了"Backspace"键

handleBackspace();

}elseif(label.equals(COMMAND[1])){

//用户按了"CE"键

resultText.setText("0");

}elseif(label.equals(COMMAND[2])){

//用户按了"C"键

handleC();

}elseif("0123456789.".indexOf(label)>=0){

//用户按了数字键或者小数点键

handleNumber(label);

//handlezero(zero);

}else{

//用户按了运算符键

handleOperator(label);

}

}

/**处理Backspace键被按下的事件*/

privatevoidhandleBackspace(){

Stringtext=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1