武汉理工大学软件开发工具课程设计_第1页
武汉理工大学软件开发工具课程设计_第2页
武汉理工大学软件开发工具课程设计_第3页
武汉理工大学软件开发工具课程设计_第4页
武汉理工大学软件开发工具课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号:课程论文课程名称软件开发工具学院计算机科学与技术学院专业软件工程指导教师张能立2014 2015学年第1学期用源码论述eclipsc学习体会1摘要:1关键字:11使用开发工具(eclipse)简介111概述112发展史11. 3 eclipse 优点21.3. 1灵活的插件结构21.3.2开放源代码21.3.3跨平台性和优良的用户体验22开发内容23程序设计说明331引入所需要的包33.2类的定义33. 3方法的定义 34程序实现过程441新建一个j3v3项目,命名为“获取系统字体” 44. 2在该项目中新建一个同名的包44. 3 在包中新建 java 类 gctsystcmfont54

2、. 4包资源管理器中结构图如f: 54. 5代码编写及调试64.6导出包65运行结果66总结体会错误!未定义书签。7参考文献78附录:源代码8用源码论述ecl ipse学习体会摘要:java语言是由美国sun公司开发的一种完全面向对彖的程序设计言,是现 在全球最为流行的开发工具之一。java作为一门“一次编译,随处运行”的语 言,其强大的兼容性给予程序员高效的开发,是用eclipse作为ide开发java 程序成了人们的首选因为作为一个开源的编辑环境。eclipse是一种通用工具平 台一普遍适用的开放式扩展ide。它提供了功能丰富的开发环境,允许开发者高 效地创建一些能够无缝集成到eclips

3、e平台中的工具。关键字: java语言,开发工具,eclipse, ide,工具平台1使用开发工具(eclipse)简介1. 1概述eclipse是著名的跨平台的自由集成开发环境(ide),是一个开放源代码 的、基于java的可扩展开发平台。最初主要用来java语言开发,但是目前亦有 人通过插件使其作为其他计算机语言比如c+和python的开发工具。eclipse 的本身只是一个框架平台,但是众多插件的支持使得eclipse拥有其他功能相对 固定的ide软件很难具有的灵活性。1.2发展史eclipse最初是替代由ibm公司开发的价值4千力美金的商业软件visual age for java的下

4、一代ide开发环境,2001年11月交给非营利软件供应商联盟 eclipse 基金会(eclipse foundation)管理。2003 年,eclipse 3. 0 选择 osgi 服务平台规范为运行时架构。许多软件开发商以eclipse为框架开发自己的ide。它最初的开发目标是一 个高质量的开发工具平台,但在eclipse的发展过程中,人们意识到eclipse 除了用于开发工具平台外,还适合作为更普遍应用的平台基础,开发小组据此进 行了若干通用化改进,到3.0版本的时候,eclipse正式成为了通用的富客户端 平台(rich client platform) 0近年来,eclipse在嵌

5、入式系统及设备开发、企 业级开发、应用程序周期管理等领域也得到了广泛的应用。1.3 ec i i pse 优点1.3.1灵活的插件结构通常的软件必须通过重新编译的形式才能进行更改或扩充,而eclipse通过 使用插件机制,让我们可以动态地增加系统功能而无需修改系统代码,还能复用 eclilpse平台提供的众多扩展点。1.3. 2开放源代码开放源代码不仅仅意味着免费,还使得eclipse成为一个开放、自由的体系。 开放源代码鼓励创新,并激励开发人员为公共开放源码库贡献代码,为这个项目 作贡献的开发人员越多,这个项目就会变得日益有用。另外,开放源代码还使得 平台开发人员的学习曲线变得更平滑,因为e

6、clipse平台本身就包含了若干高品 质的插件实现范例,是开发人员学习和模仿的对象。而由于eclipse儿乎是免费 的,而microsoft公司的产品有很尴尬的盗版侵权问题,越来越多的公司的开发 部门由jbuilder转向了 eclipse,对于程序员而言,更让我们欣喜的是,eclipse 开放源代码,这意味着我们可以通过阅读顶级的java源代码学习优雅,高效的 编程。1-3.3跨平台性和优良的用户体验eclipse是基于跨平台的程序语言java开发的,这使得开发人员基于eclipse 开发的程序也可以方便地跨平台部署。另外,ecliplse通过引入 swt (standard widget

7、toolkit),使得开发出来的gui程序效率更高,而且具备 了与本地操作系统一致的外观和操作方式,大大改善了 java程序的用户体验。2开发内容用已学的java |识和eclipse使用技巧,在eclipse ±编写一个程序,实 现一个简单的计算器程序,使其能进行简单的运算。3程序设计说明3.1引入所需要的包根据程序实现的需要,引入java图形用户界面的组件和事件的javax. swing, java, mvt包:import java.awt.*;import javax.swing.*;import java.awt.event*;这是手丁输入的包引入,eclipse提供包引入

8、的快捷键shift+ctrl+oo在本程序屮虽 然可以通过快捷键导包,方便程序员操作但是导入的太过丁细致,完全可以用*代替一 个类下面的所有方法。当然,在eclipse中,很人性化地可以将相同代码块合并,便于 代码杳看。如图所示:public class calculator - public static void main(string args) .-new-calframe();.町町点击左边向减号一样的图标即可合并查看。如图:public c丄ass - calculator-public-static-void-main(string-args)期3. 2类的定义定义公共类clas

9、s calculator,只有一个主方法。创建继承于jframe类的 calframe类,定义一个框架。jframe类是一个容器,允许程序员把其他组件添 加到它里面,把它们组织起来,并把它们呈现给用户。jframe实际上是swing 包屮最复杂的组件,通过在jfrrnne上调用的一些修改属性的方法,可以得到许 多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动。框架屮定义 两个面板,分别为calpanell和calpanelr,分别呈现数字面板和运算符面板,将 功能分开显示,获得一个良好的界面。第三个类是button类,对按钮进行创建和 管理。最后一个是动作监听类,每个按钮都要实现-个

10、动作监听。3.3方法的定义定义类的方法calframe 0,来设置软件程序的界面,包括获取屏幕大小,设 置窗口可见性、可拉伸性,调整窗口大小、显示位置,管理文木框和面板。方法 calpanell()和calpanelr()设置两个面板显示的信息,初始化按钮和加入按钮 信息。方法calbutton设置按钮信息。最后是各种按钮的监听响应方法actionperformed()o4程序实现过程4.1新建一个java项目,命名为“简单计算器”在eclipse中,可以创建一个项目,也可以通过import导入一个已经存在的 项目文件夹。 new java projectnew javacreate a ja

11、va projectcreate a java project in the workspace or in an external location.project name: |简单计算器|0 use default locationlocation: d:workspace、简单计算器browse.4. 2在该项目中新建一个同名的包在每个project下面提供默认包,但是建议单独创建包。在大型软件项口 开发的过程的,不同的程序员完成一部分功能实现代码,有可能有相同的类名而 出现错误。分隔的包有助于实现代码分离,是功能展示更加清晰。也可以通过 import导入包来使用其它包的代码功能,快捷

12、方便。在木程序屮,因为代码量 小,我只创建了一个包。java packagecreate a new java package.browse.creates folders correspond!ng to packages.source folder: 简单计算器/srcname:create package-info.java4. 3在包中新建java类ca i cu i ator在一个包下面创建一个类,eclipse提供了很多书写代码辅助功能。通过勾 选项目就能为程序员提供类的基本架构,包捞主函数,抽彖方法和注释。大大提 高了程序员完成代码的速度。在本程序中,虽然有很多不同的类,但是为了

13、代码简单,我只在一个class 文件下写完了所有代码。如果时间充裕,我还是会通过接口来分开整个代码,使 代码的扩展性更强。which method stubs would you like to create?public static void main(stringq args)i constructors from superclass inherited abstract methodsdo you wont to add comments? (configure templates and default value heri) 厂 generate comments4. 4包资源管

14、理器中结构图如下:package explorer s31=1 戸爲i审i_j exercise,b简笙计算器凸 src,e简单计算器t> t calculatorjava> bi jre system library javase-1.74. 5代码编写及调试在代码编写的过程中,编写窗口左边会给出相应的符号来提示程序员出现了 那些错误,以便及时修改。这个功能是其他编译器没有的,在使用的过程屮我觉 得使用起來非常方便。鼠标移到相应的提示符会给出错误原因和修改建议,选择 相应的修改建议就可以快速修改错谋,在一定程度上减轻了程序员的工作量,提 高了代码编写速度,大大节约了编写时间。91

15、01112 "1314151617181920/ pud 丄丄i 丄 dbb jd 丄 cli 丄 dtur* (8" public static void main(string args) =nww calframe();x remove f and all assignmentsx remove 'f, keep assignments with side effectsq convert local variable to fieldq inline local variable匸 rename in file (ctrl十2, r;4-j rename i

16、n workspace :alt-shift-ru split variable declaration add ©suppresswarnings 'unused' to f add ©suppresswamings 'unused' to 'mainq'calframe g 巧i唧class calfram double dl, int op = -1 jtextfield calpanell p calpanelr ppublic class calculator public static void main(stri

17、ngo args) / construe4. 6导出包通过export即可快速导出java项口包。exportselectchoose export destinotion.止1select an export destination:type filter texti1t> & ejb l> 已 install>15运行结果6总结体会在本学期软件开发工具课程的学习中,我收获了很多知识,基本了解并掌 握了软件开发用的工具eclipse的使用方法。通过多次的实验上机,我学会 了实际运用eclipse环境來进行java编程,学到了eclipse的环境、平台体系结构 和ec

18、lipse集成开发环境,怎么将eclipse汉化,怎么调整字体格式,及在ecl ipse 中如何进行java开发,详细讲述java代码的编写及java代码的编译和调试等。不得不让人感概的是,eclipse的插件功能是非常强犬的。eclipse是一个 开放源代码的、基于jewd的口j扩展开发平台。就其本身而言,它只是一个框架 和一组服务,用于通过插件组件构建开发环境。eclipse的核心是非常小的,其 它的所有功能都是以插件的形式附加在这个核心之上。这样的功能插件包括它的 图形apt (swt/jface). java开发环境插件(jdt)、插件开发环境(pde)等。 ecl ispe的插件机制

19、使得eclipse具冇无限扩展的口j能,eclipse对这些插件的 协同工作提供了良好的支持,不仅安装简单,而且还可以无缝结合。本次程序设计中,我编写了一个简单的获取系统字体的程序,使其能获取并 显示出计算机系统的字体。曲于刚接触jovo不久,编程的经验不够丰富,所以很 多编程技巧及编写语言的规则需要去熟悉,因此很多功能还未完成。编写一个简单的计算器的程序,看起来似乎很简单,但当自己真正动手编写 程序的时候,在设计调试的过程中,才发现,不是那么容易的。首先,界面的设 计方面,在窗口的犬小、可拉伸性、位置布局等方面的实现上遇到了困难。再如, 怎么设置断点将程序进行很好的调试。经过在网上查阅资料,

20、一次一次修改、检 查算法,才终于成功实现。在使用eclipse编写程序的过程中,我更熟悉了eclipse的操作方法,并且越 來越适应这个强人的软件。尤其让我在使用过程中非常舒服的功能就是自动导 包、错误提示、各种编辑快捷键、接口等快速创建、api的快速查看等等。通过 本次程序设计,我体会到了,我们要细心去体会每一个细节设计,每一个类的设 计,每一个类的联系及消息的传递。代码的编写不仅是实现其功能,更要让整个 程序要有整体感,功能分布清晰,可修改性强,可扩充性好等重要特性,这需要 以后去慢慢锻炼、多写代码、多多总结,在使用eclipse等编写代码的过程中加 深体会,不断进步。7参考文献1ecli

21、pse核心编程-插件、界面与web开发李大卓著 人民邮电出版 北 京 2007【2】eclipse从入门到精通清华大学出版社 强锋科技 陈刚 编著3 java语言与面向对彖程序设计王行言,清华大学出版社,20074 精通eclipse)清华大学出版社张大治应群编著5 java编程思想(笫4版)bruce eckel机械工业出版社20078附录package简单计算器;import java awt*;import javax.swing.*;import javaawtevent*;public class calculator public static void main(string a

22、rgs) new calframe();suppresswarnings(“serial”)class calframe extends dframe double dl, d2;/耍参与运算的两个数int op =/代表符号选择数jtextfield tf;calpanell pl;/分为两部分按钮,建立两个面板,左边主要为数字按钮calpanelr p2;/右边为符号按钮和功能按钮/ constructor 构造框架calframe() settitlec'gxq calculator1');setlocationrelativeto(null);setlayout(new

23、 flowlayoirt(flowlayout.center, 10,12);setresizable (false);/框架不口 j 改变大小setsize(280,180);tf 二 new 3textfield(16);tf. set editable (false);/文本框不可编辑setbackgr oun d(col or. yettoiv);t f set font (new font ("arialn, font. bold, 16);/调整字体 add(tf);pl = new calpanell();p2 = new calpanelr();add(pl);add

24、(p2);setvisible(true);addwindowlistener(new wclose();/窗i监听/ inner class :calbutton 构造按钮class calbutton extends button calbutton(string s)super(s);/调用父类的构造方法setbackground(color.pink);/ inner class: calpanellclass calpanell extends 3panel calbutton b0, bl, b2, b»b4, b5, b6, b7,b8, b9, bpn, bpoint

25、;calpanell() setlayout(new grid layout (4,3); /网格布局 b0 = new calbutton(n0");* * *其它按钮初始化代码省略* * */加入按钮add(b7); b7<addactionlistener(new pressb7();*其它按钮力口入彳弋码省略* *add(bpoint); bpointaddactionlistener(new pressbpoint(); class calpanelr extendsjpanel bmulj bdiv,bsqrt, bsin,bcos, byx,bln, bequal

26、,bce, bback;calbutton badd, bsub,calpanelr() setlayout(new grid layout (4,3);/设置网格布局badd = new calbutton(l,+,)j其它按钮初始化代码省略*add(badd); baddaddactionlistener(new pressbadd();*其它按钮力廿 入彳弋码省略* *add(bequal); bequal.addactionlistener(new pressbequal(); /设置监听/加号class pressbadd implements actionlistener publ

27、ic void actionperformed(actionevent e) try dl = double.parsedouble(tf.gettext();op = 0;tf.settext(,u); catch(exception ee) /减号class pressbsub implements actionlistener public void actionperformed(actionevent e) try dl = double.parsedouble(tf.gettext();op = 1;tf.settext(,h); catch(exception ee) 乘号cla

28、ss pressbmul implements actionlistener public void actionperformed(actionevent e) try dl = double.parsedouble(tf.gettext();op = 2;t f.settext(,)j catch(exception ee) /除号class pressbdiv implements actionlistener public void actionperformed(actionevent e) dl = double.parsedouble(tf.gettext();0p = 3;t

29、f.settext(,u); catch(exception ee) /求幕方class pressbyx implements actionlistener public void actionperformed(actionevent e) try dl = double.parsedouble(tf.gettext();op = 4;t f.settext(,u); catch(exception ee) /等号,进行双目运算class pressbequal implements actionlisterigr public void actionperformed(actioneve

30、nt e) try double result = 0;d2 = double.parsedouble(tf.gettext(); switch(op) case 0:result = dl + d2;break;case 1:result = dl - d2;break;case 2:result = dl * d2;break;case 3:result = dl / d2;break;case 4:result = math.pow(dl,d2); break;default:tf>settext(string.valueof( resuit); catch(exception e

31、e) /以下是进行单目运算开方class pressbsqrt implements actionlistener public void actionperformed(actionevent e) try double x = double.parsedouble(tfttext(); double y;y = math.sqrt(x);tf.settext(y+"”); catch(exception ee) * * * sin, cos 实现代码和 sqrt 类似省略 * * * * /退格键class pressbback implements actionlistener public void actionperformed(actionevent e) try string text 二 tf.ge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论