




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CSDN -文档中心-Java图书推荐一标题 Eclipse插件开发系列(0)< td>Java Application 开发的崛起 glchengang (原作)关键字 eclipse插件开发Java算法 图算法(垃圾收集STRUTS技术揭密及WEB.Java手机/PDA程序设计人才招聘一TOM互联网事业集团深圳市智岛软件科北京飞天诚信科技作者:陈刚,桂林人,97年毕业于广西师范大学数学系,暂于IBM中国研究中心以外包人员身份从事软件开发(2004.2-?),专注基于java平台的软件开发。email: glchengangblog: 前言:补一篇Eclipse插件开发的简介。用
2、JAVA的AWT或SWING来开发过Application (胖客户端的应用程序)的程序员,都有过非常痛苦的经历。笔者就曾在3年前用记事本 +JDK开发过一个Applet (也要用到Swing与Application类似),其界面开发的艰难 与界面的丑陋仍历历在目, 笔者也用过一些用 SWING写的应用程序,除了 Jbuilder和一些大公司写的少数几个软 件还过得去以外,其界面基本只能用丑陋与呆板来形容,JAVA在Application方面的失败已是不争的事实。然而当Eclipse和SWT渐渐闻名于江湖,开发大型的美观的性能优良的JAVA Application程序已成为现实。看过Eclip
3、se界面的人绝对想不到 Eclipse是用纯JAVA写的吧,在Eclipse3的里程碑版M 8,界面更是华丽无比, 让人炫目,看起来就象是苹果电脑上的软件一样(如下图)。比较Jbuilder的还略带方头方脑的界面风格,Eclipse已经在界面美观程序上超出Jbuilder很多了。因为Eclipse没有沿用JAVA的AWT、SWING,而是自己开发了一套界面API包:SWT、Jface,想必很多人都听说过了北京云网公司(北京北京开创明天科技 北京三维力控科技 北京东西电子研究阿里巴巴(中国) 大连大有吴涛易语 培训信息 一北京维新科技培训中国软件(Oracle认 天盈隆网络技术培美国Softte
4、ch公司中国思科培训网(C.UML软件工程组织( 中国UNIX用户协会 东北大学计算机培WWWJ AVASP.NET( 电.用过Eclipse的人很多,但大多数人还只是用于开发J2EE,其实Eclipse还有一个重要的开发方向:Eclipse的插件开发。Eclipse是在面向对象方面做得很出色的一个编辑器,注意Eclipse只是一个用JAVA写的编辑器而已,它可以变化成其它的东西,如:J2EE开发工具、C + +开发工具等等,这一切功能的扩展皆来源于其插件机制。你只要编写相应的插件,Eclipse就可以变成你想要的功能,包括变成一个企业管理信息系统,没错,它的确可以。请看如下界面(运行于Ecl
5、ipse2.0版)。这是一个正在开发中的信息系统类软件。tn Mil«w.cwnc»JRBMiMIUMJMno 4ME injwrw.cwnN 鼻”眄 E.WB.RW;TA<»e(H0*k>aLMai.»n 1 >WT»mjwxwwi w*rW ttwan.oBm -' <a«c<« rwnrnpi.TOrrc*< W«*W <wun .msiwmm owu>4 Uwe mhu.carnalssssMFfrti Mt' WgUff 1 liTl !JT
6、 存:JFKF4Va.-i nri. JI 11aLEKI ;4TiMw f t<巧.r賞n'3srr-grliWHMIg FMTVtm w t 阿.rar £ 薛JBBL MMiTC orr.n产豊吟叭r&左 tsf rtL Wil Kii:l«W 04m帼t.他iqb J- J & I"丁 14amj-JKin辛 T wmv*v -f TIH9怎么样,以上的图片让你动心了吗?用Eclipse插件来开发的系统,界面美观且界面响应速度快(Eclipse重写了 JAVA的画点等绘画函数),而且可以继承Eclipse的原来框架,如菜单对话
7、框、树型框、事件机制、停泊窗等等,这使得开发速度得到很大提高,你不必须要象SWING那样从头到尾来构建一个系统,你所要做的是继承继承再继承。这似乎也提岀了一个新的开发概念,我们不是继承那个类,我们是继承一个完整的系统程序框架。如果你正在开发JAVA应用程序,我认为使用 Eclipse插件方式来开发将是当仁不让的选择。让SWING成为过去吧,我只要 Eclipse和SWT,因为它真的很美很快很好。往来邮件刘海波:您好,看了您再csdn中写的一些文章,能否问一些问题:您写的是web还是什么啊?您再eclipse的ide中浏 览数据库是用的什么插件啊 ?您界面开发用的是什么插件啊?我想粗略知道一些您
8、作的那个信息系统类软件的一些信息(主要是用什么插件和开发方式等)我用eclipse做过web,hibrnate+struts的,cvs作版本管理,谢谢,谢谢!答:1、这个项目不是 WEB方式的,它是一个依附于Eclipse平台开发的应用程序,就象VB写的那种.2、我们不是在ecilpse中浏览数据库,在初期用Mysql做数据库中我用 Mysql Control Center,后来改成DB2后,我用WASD来浏览.不过在hibernate中国网站有一个写中国人自己写的读写映象文件的插件,可以浏览数据库。3、我们用hibernate来要数据库映象层.CVS来做版本管理。4、主要是用到SWT、JFa
9、ce,界面开发可以不用其它插件了。我用到一个叫 SWT Designer的插件来做帮助我做界面初期的设计开发,但它不能全部完成界面的工作 (界面复杂后,它极其不稳定,很容易因内存不足导致 Eclipse 退出),还是要手式修改代码。我用SWT Designer做初步界面,再将其代码复制到项目中,然后手工调。5、关于图像部份是用了draw2d,还有GEF (象那个鹰眼图,右边的各个图象元素是可拖动的)。不知我回答完你象知道的内容了吗。csd 首页1第二书店|论坛|专题|精华| SUN | IBM|微软|微创|书社|程序员|调查|聊天|黄页新闻 | Donews|文档| FAQ |专栏|人才|培训
10、|移动|人邮|清华|开发高手|搜索|软件|会员图书推荐一CSDN -文档中心-Java标题Eclipse插件开发系列(1):< td>Eclipse及其语言包的下载与安装glchengang (原作)关键字 eclipse中文包语言包安装Java算法图算法(垃圾收集STRUTS技术揭密及WEB.Java手机/PDA程序设计人才招聘一TOM互联网事业集团深圳市智岛软件科北京飞天诚信科技北京云网公司(北京北京开创明天科技北京三维力控科技北京东西电子研究阿里巴巴(中国)大连大有吴涛易语培训信息 一北京维新科技培训作者:陈刚,桂林人,97年毕业于广西师范大学数学系,暂于IBM中国研究中心以
11、外包人员身份从事软件开发(2004.2-?),专注基于java平台的软件开发。email:glchengangblog:下载Eclipse及其语言包下载下载地址:/downloads/。有各种平台版本的,我们选windows平台的下,具体如下:Eclipse : Eclipse SDK for windows版本:2.1.3文件名:eclipse-SDK-2.13win32.zip语言包:Language Pack版 本:2.1.2_Translations文件名:eclipse2.121-SDK-win32-LanguagePackFeature.z
12、ip注:虽然语言包是for 2.1.2版的但在Eclipse2.1.3版一样可以使用,而且不会影响 Eclipse的使用稳定性,因为语言包都是一些将界面文字翻译成各国文字的文本文件,并不涉及到程序的改动。不过我试过这个语言包在EclipseM3.X下无法试用(只能将个别词翻译过来),看来 Eclilpse 3更动还是挺大的。安装Eclipse的安装将下载的压缩包解压,然后将整个目录移动到你想要的位置。我是放到,为了已本教程同步,建议您选择本文相同的放置路径,目录结构如下图:中国软件(Oracle认eclipseZ. L 3- _J ecl ipse1+ _J pluginsl 1 read/n
13、e让我来的试运行一下,双击c:eclipse2.1.3eclipse 目录下的eclipse.exe文件启动eclipse,启动后的界面如下图:天盈隆网络技术培 美国Softtech公司 中国思科培训网(C.UML软件工程组织( 中国UNIX用户协会 东北大学计算机培WWWJ AVASP.NET( 电其语言包安装第一步:解压缩。首先关掉Eclipse,然后将下载的语言压缩包解压,然后给这个文件夹取个稍简洁的目录名(我取名为:eclipseLanguage )。然后将整个目录复制到C:eclipse2.1.3eclipse下复制完后的整个 Eclipse目录结构图如下eclipst
14、2. 1 3-J eclipsej' 、eelip«2. 1.2. 1 Languagef eclipsef若tpr亡§ pluginsPPM3featureslinksworkspic*第二步:建立link文件。在C:eclipse2.1.3eclipse下新建一个文件夹links,然后links目录中新建一个文本文件,文件名和扩展名任取(我取名叫 language.link )。然后在文件中加一行文字:path=C:eclipse2.1.3eclipseeclipseLanguage注意:路径分隔符由两个反斜杠组成。好了,我们现在可以重新启动Ecl
15、ipse 了,Eclipse启动的时候会自动查找links中的各文本文件,并将其中指向的插件(plugins)加载到自身的插件系统中。第一次启动时Ecipse提示检测到更改”点击完成”然后重启Eclipse即可。启动后的界面如下。忸口4 «-ir咗勺-T- t-*> ”才*E - -* XEclipse 平會M页両墟刼呼叨耽匕工住莒”幵衍人门谱細常下碗节并壬聘H贰凭置需器学隆££曲的功抵砂的匪團*. *堆擢常助 开堆第虽矍的功应圧件.運观也由审于椁同眄理扌1視瓦(們如.”薛啟辄刑v ftSCO J nvrnwt一旦祥册了点世厨科对孤.锲用“亩口埼注懂尉出JT
16、片*牡保尋町以短制锐总“点击菜单:帮助一帮助内容。如下图,我们发现连帮助都翻译成中文的了。点击菜单:帮助一帮助内容。如下图,我们发现连帮助都翻译成中文的了。点击菜单:帮助一帮助内容。如下图,我们发现连帮助都翻译成中文的了。点击菜单:帮助一帮助内容。如下图,我们发现连帮助都翻译成中文的了。作者相关文章:? Eclipse插件开发系列(4):对话框 Dialog (原作)? Eclipse插件开发系列(0): Java Application开发的崛起(原作)点击菜单:帮助一帮助内容。如下图,我们发现连帮助都翻译成中文的了。点击菜单:帮助一帮助内容。如下图,我们发现连帮助都翻译成中文的了。图书推荐
17、一? Eclipse插件开发系列(3): Hello World插件(从无到有版)(原作)CSDN -文档中心-Java< td>Java算法 图算法( 垃圾收集STRUTS技术揭密及WEB.Java手机/PDA程序设计人才招聘一TOM互联网事业集团深圳市智岛软件科 北京飞天诚信科技 北京云网公司(北京北京开创明天科技北京三维力控科技北京东西电子研究 阿里巴巴(中国) 大连大有吴涛易语 培训信息 一北京维新科技培训中国软件(Oracle认可用的代码笙成向导®定制插件向导Hello. World此向导将创逹标准的插件目录结构幷添加 下列内容: tfe惟隹”此檯柘制举一个简单
18、曲鰹性附注:发现又有上一篇的错误,中文版的Eclipse在新建项目时,比较容易有由于类路径错误(不完整或涉及循环),所以未构建项目。”这类的错误。好办,因为中文包只是一些文本文件,对开发没用,用前面一篇所说的方法删除那些对中文包的引用(前面字符为ECLIPSE_HOME_LANGUAGE二LINK),如下图:!缺少构建路径案目乙信息Javadoc 位置外部工具构建器项目引用、插件开发的几个关注点色源项目d)肛库® 口次序和导出 构萍踣袴上也一TAR和类立件夹二+ECUPSE_HDME_LAMGUA!(;E_1JIK/ort eclipse, coreoot. nil ECUPSE_f
19、fiME LAHGUAiGEJJNK/org. eclipse. core/rvcktime/iL ECUFSE_HOrE_IAMGUAGE_UNK/ r-/org edips« cor a I ElLTPE MOME_LAMGUA!(jE_LrNK/pi.s/orr *rllpse. ccrrri鶴JRE系统库飞吝丄斗24广a)库引用。如上附注所说库引用是在建立插件初期要设置好的地方,不过一经设置基本不需要再改变。功能类似于JDK的classpath或者Jbuilder里的库引用。b)插件JAVA源代码。今后主要的工作,狂写代码吧。主要都是一些*.JAVA文件。作者:陈刚,桂林人,
20、97年毕业于广西师范大学数学系,暂于IBM中国研究中心以外包人员身份从事软件开发(2004.2-?),专注基于java平台的软件开发。email: glchengangblog: 一、新建项目。按照上一篇的新建插件项目的方法,新建一个名为myplugin2的插件项目注意:在最后一步选择建立白空插件项目”,除此,其它都一样。截图如下:创建空百插傑项目©:ri in in e=i »-uJ使用花码生成向导刨建插件项目址c)项目根目录下的plugin.xml文件。这个文件是插件的入口文件,Eclipse根据这个文件中的设置来加载插件。天盈隆网络技术培美国Softtech公司 中国
21、思科培训网(C.UML软件工程组织( 中国UNIX用户协会 东北大学计算机培WWWJ AVASP.NET( 电.代码写完了,要让Eclipse加载你的代码就要在这里面做些手脚了,这些手脚有个术语叫 设置扩展点”象在Eclipse的加个主菜单、视图、按钮,都在这个文件里面做不同的扩展点,后面的教程会看到这个文件的使用。要人会说那我开发一个系统会有很多的菜单和按钮,那是不是都要设置这个文件呢?回答: 不必,这里面只设置主要和 Eclipse接壤的扩展点,其它系统里的菜单按钮就没必要了,今后会讲到。三、设置库引用在删除了上面附注所说的无用且岀错的引用,接下来我们要加入一些开发插件要用到的库。是那些呢
22、?呵呵,前面我们还是用向导建立了一个helloword插件吗,参考它的就行了。如下图:ECUFSE_JlDME/plugLns/arg. telips*. cor t. hoot_2. 1.3/boot. jar 一 C: telipseeclipse, core, resources_2. I, sourcts. jar Hl>ME/plugins/org. eclipse, cor e. runtimia_2. 1. 1/runtime. j ir C: e HCiME/plugi.ns/org. aclips*. jfAta_2. 1.3/jfAta. j sr C : ecl
23、163;ps«2. 1 JQME/plugins/&rg. eclipse, jfees.1 0/jj ar C:Hl>ME/plugins/org. eclipse, swt. win32_2. 1.3/ws/win32/swt. jsr C : li)CiME/pliigi.ns/tjrg. eclipse. tsxt_2. 1. O/taxt. jar C: *clipse2. 1.3 XDHE/pluins/org. eclipse. 1 1/ui. C:1.HOME/plugins/arg:. eclips«. ui «ditars_2.
24、1.0/sdi tors. j«r Ct Xacl HDME/plugins/urg. aclipse. ul1. 3/vlwe. jar C: V&clipseMDHE/pluins/org. eclipse, ui1. 0A>rkb4ichin32- j ar - CHOME/plugi ns/or国.eclipst. ui warkbanch_2. 1.3/workbench. j «r C : HOME/plug!.nz/arg. aclipse. ul workbench. tKteditcr_2. 1.3/t&xt'&dit
25、* ECLIPSE> ECUFSEj ECLIFSE* ECUFSE> ECUFSEj ECUFSE* ECUFSE> ECUFSEj ECUFSE* ECUFSE/ ECUFSE> ECUFSE価 TO 系统库J2rfll.4 2_04手工加可真累,这里有个好办法。把目录下的.classpath文件拷贝到C:eclipse2.1.3eclipseworkspacemyplugin2目录就行了。所有关于库引用的设置全保存在这个文件中。最后别忘记刷新一下项目,如下图所示:10包资猱昔理鶉U JI rrlE S甲审国由.E S甲甲ElE甲甲甲新逹址)ffiAd)在新窗口中打
26、开檢 打开类型层校錯构彳彗切迫垠制(£)®粘贴世)M删除 源 重构曲导入(X).-V导出辺pr_ r esc Lz.i.i/ wt. win3£ 虐龙t.2, L1 face, tes i. views_ i. workb i. win32 i. wor kbt i. edi tor ore. boot e-re_ runt附注说明:有些文章在这里是用 文件导入外部插件和段”来提供插件开发支持库的引用,本文不采用这种方法,因为这种会将支持库(也是一种插件项目) 会新建很多相应项目, 让开发界面显得很乱。 还不如本文所用的建立库引用 变量的方法方便简洁。四、写源代码
27、。a)新建一个包。方法如下图所示。+包名如下:创建与包相对应文件夹.源文件夹: |myplugin2/src名称 : |cam. gXch«ngaiig结果如下:mypluginZa o|-田 com glthem官z直+ Jj SanipleAct ioii. javia.ib) 然后将上一章的 myplugin的SampleAction 直接移动本项目 myplugin2中就可以了( Eclipse支持鼠标拖拉操做)。c) 本文SampleAction做了一些小修改(删除了注释和构造函数)。代码如下:public class SampleAction implements IWo
28、rkbenchWindowActionDelegate private IWorkbenchWindow window;public void run(IAction action) /这是打开一个提示窗口MessageDialog.openlnformation(window.getShell(), "myplugin插件","这是手工做的插件”);public void selectionChanged(IAction action, ISelection selection) public void dispose() public void init(IW
29、orkbenchWindow window) this.window = window;五、在plugin.xml文件中加入扩展点的代码。"v/runtime> 之后。(这些 xml 还库将本项目plugin.xml文件打开,并转到其源代码视图。将如下代码加入到 是从上一章的项目搬过来的<requires>vimport plugin="org.eclipse.core.resources"/>vimport plugin="org.eclipse.ui"/></requires>vextension
30、point="org.eclipse.ui.actionSets">vactionSet label=" 样本操作集"visible="true" id="myplugin.actionSet"> vmenu label=" 样本菜单"id="sampleMenu"> vseparator name="sampleGroup"> v/separator> v/menu> vactionlabel="样本操作&q
31、uot;icon="icons/sample.gif" class="com.glchengang.SampleAction" tooltip="Hello , Eclipse world" menubarPath="sampleMenu/sampleGroup" toolbarPath="sampleGroup" id="com.glchengang.SampleAction">v/action>vactionlabel="样本操作2 "ic
32、on="icons/sample.gif" class="com.glchengang.SampleAction" tooltip="Hello , Eclipse world 2 " menubarPath="sampleMenu/sampleGroup2" toolbarPath="sampleGroup2" id="com.glchengang.SampleAction2">v/action>v/actionSet></extension>
33、说明:a)requires域中定义了该插件所要使用的依赖插件,随着开发的不断深入,这里将会填加更多的引用,现在两项 就够了b)在 extension 中说明了要们要扩展 org.eclipse.ui. actionSets 扩展点,<actionSet> .</ actionSet > 表示一个action组(按钮、菜单)。还有其它类型的扩展点,女口 org.eclipse.ui.views 是视图的扩展点,org.eclipse.ui.editors是编辑器的扩展点,各种扩展点在 eclipse的帮助中有详细的说明。label是显示的名称。id是唯一标识符,只要 保证
34、在plugin.xml文件不存在重复的id就行了,这里建议以包路径和类名的组合来做为id。c)<menu>.</menu> 表示菜单separator标签是一个结束符,它可以对菜单分组d)<action>.</action>表示按钮。Icon是图片的路径,绝对路径是什么大家实际对照就知道了,如果eclipse找不到这个图片,默认是一个红色实心小框。Class是这个按钮所对应的类,注意把包名写全,这样比较规范些。menubarPath 表示把这个 action做成一个菜单放在上前 <menu>-.</menu> 定义的主菜单
35、下。toolbarPath 表示把 这个action做成一个工具栏按钮。在这里为了方便比较我将这个action的设置复制成了两份,大家可以自己改改其中的设置,然后看看实际效果。e)各详细的plugin.xml大家可以参考eclipse自带的帮助文件,这里仅做一个入门性的说明。myplugin项目关闭掉,关闭方法:鼠六、按钮前面一章所说的方法运行插件(运行之前注意将原来那个向导做的标右键点击此项目一>弹岀菜单中选择关闭项目)。插件效果如下图参考文档作者相关文章:? Eclipse插件开发系列(4):对话框 Dialog (原作)? Eclipse插件开发系列(0): Java Applic
36、ation开发的崛起(原作)? Eclipse插件开发系列(1):Eclipse及其语言包的下载与安装(原作)CSDN -文档中心-Java图书推荐一< td>Java算法 图算法(.垃圾收集STRUTS技术揭密及WEB.Java手机/PDA程序设计作者:陈刚,桂林人,97年毕业于广西师范大学数学系,暂于IBM中国研究中心以外包人员身份从事软件开发 (2004.2-?),专注基于java平台的软件开发。email: glchengangblog: 一、最简单的Dialog。在上一章中我们的 Hello World是调用了 SWT中已写好的一个对话框,如果我们要自己写一个对话框怎么办
37、 呢。很简单只需要继承 JFace中的Dialog类,然后重写相应的方法就可以了。代码如下:人才招聘一TOM互联网事业集团深圳市智岛软件科北京飞天诚信科技 北京云网公司(北京北京开创明天科技北京三维力控科技北京东西电子研究阿里巴巴(中国)大连大有吴涛易语 培训信息 一北京维新科技培训中国软件(Oracle认天盈隆网络技术培美国Softtech公司中国思科培训网(C.UML软件工程组织(中国UNIX用户协会 东北大学计算机培WWWJ AVASP.NET( 电.import org.eclipse.jface.dialogs.Dialog;/注意这个是 jface 的 Dialog,不是 swt
38、的 Dialogimport org.eclipse.swt.SWT;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Control;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;public class DialogSample extends Dialog /在这个方法里构建Dialog中的界面内容 */protected Control createDialogArea(Composite pa
39、rent) getShell().setText("标题");/ 设置 Dialog 的标头Text text = new Text(parent, SWT.BORDER); /设置一个 Text 控件text.setText(” 我爱 JAVA"); / 设置 text 中的内容return parent;*构造函数*注意:其范围由protected改为public,否则包外的类无法调用*/public DialogSample(Shell parentshell) super(parentShell);*重载这个方法可以改变窗口的默认式样* SWT.RESIZ
40、E :窗口可以拖动边框改变大小* SWT.MAX :窗口可以最大化*/protected int getShellStyle() return super.getShellStyle() | SWT.RESIZE | SWT.MAX;这里出现了几个新的变量类型,在此简单解释如下:Composite :本文中翻译成面板。任何SWT/JFace的界面控件都必须建立在某个面板上面,如上面的new Text(parent, SWT.BORDER),就是将文本框建立在参数传入的面板parent上。面板还能嵌套面板,在建立一个图形界面时常将各个面板层层叠叠的排放在一起。Composite将是界面设计中使用
41、最平凡的一个类。Control是Composite的父类,而Shell是Composite 的一个子类。用到的场合不是太多,也没太必要了解很清其本质含义。要依着我的开发经验的理解Control (控制):如上面例程中createDialogArea 方法就要返回一个Control表示这些界面元素是由谁主控,或者是谁是主面板包含住了所有控件(我自己猜的)。Shell表示一个界面的外壳,它能得到比Composite 更多的功能。希望通过如下继承关系图有助于您理解Control、Composite、Shell三者间的关系。Object-0 DecorationsShell然后将上一章的 Sample
42、Action.java 中的run方法改写如下:public void run(IAction action) /*也可以new DialogSample(null); 传一个 NULL这时是单开一个窗口*要看两者的区别,注意 window操作系统任务条上的变化。* 一般来说都应该传一个Shell类型的参数,至少这个 Shell来自何处都一样*/Dialog dialog = new DialogSample(window.getShell();dialog.open();然后用上一单运行插件的方法跑一下看。结果界面如下:蝶览搜素1项目世)样本萦单11111运行®)Q t总X歹仃x
43、1TT二、如何设置与取得 Dialog中的数据。在我们开发中我们常需要设置对话框一些初值,另外Dialog点"确定"退出后,我们还想取得 Text框的值。怎么做呢?我们可以在 Dialog类中建立一个字符型的类变量来保存值。请看如下代码:public class DialogSample extends Dialog /类变量,设一个默认值private String textValue =" 我爱 JAVA"/将Text设为类变量,否则 buttonPressed方法无法访问private Text text;protected Control cre
44、ateDialogArea(Composite parent) text = new Text(parent, SWT.BORDER); / 将 text 的定义 Text 去掉text.setText(textValue); /改成变量* Dialog点击按钮时执行的方法*/protected void buttonPressed(int buttonId) /如果是点了 OK按钮,则将值设置回类变量if (buttonId = IDialogConstants.OK_ID)textValue = text.getText();super.buttonPressed(buttonId);pu
45、blic String getTextValue() /增加两个类变量的设值取值方法return textValue;public void setTextValue(String string) textValue = string;然后将SampleAction改为如下。DialogSample dialog = new DialogSample(null);dialog.setTextValue(” 我也爱 Eclipse");if (dialog.open() = Window.OK) System.out.println(” 新的值是:"+ dialog.getT
46、extValue();这时我们发现dialog启动后Text的值变成了 我也爱Eclipse ”,然后我们在Dialog重新改一下Text框的值,点0K按钮,在原 控制台”窗口打印出了 Dialog中新修改的字符。三、如何增加按钮。默认的Dialog只有两个按钮,有时候我们可能增加一些按钮。有两种方法。1、方法一(稍复杂)。下面增加一个退出按钮,只须在原有DialogSample 类中重载父类Dialog的两个方法,这种方法可以调整三个按钮的前后位置并可以修改原来默认两个按钮(确定、取消)的设定(如文字、id值等),*/protected void initializeBounds() /*参数1:取得放按钮的面板,*参数2:定交按钮的id值,id值的作用见上面的buttonPressed方法*参数3:按钮上的文字*参数4:是否为Dialog的默认按钮*/super.createButton(Composite) this.getButtonBar(), IDialogConstants.CANCEL_ID,"退出", true);sup
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年钦州运输从业资格证考试试题库
- 辽宁省辽阳县2025年初三下学期第一次考试语文试题含解析
- 邢台医学高等专科学校《遥感科学与技术专业外语》2023-2024学年第二学期期末试卷
- 辽宁对外经贸学院《幼儿行为观察与指导》2023-2024学年第二学期期末试卷
- 威海职业学院《环境和生物地球化学》2023-2024学年第二学期期末试卷
- 江苏省连云港市赣榆县重点中学2024-2025学年初三下学期第三次统练数学试题含解析
- 宿迁职业技术学院《翻译简史》2023-2024学年第一学期期末试卷
- 平顶山学院《地铁与隧道工程》2023-2024学年第二学期期末试卷
- 柳州铁道职业技术学院《园林与景观设计》2023-2024学年第二学期期末试卷
- 江苏省南京市江宁区2024-2025学年高三第一次十校联考生物试题含解析
- 护理组长经验交流
- 企业垃圾分类课件
- 强制性条文监理执行计划
- 山东科技大学离散数学复习题
- 【MOOC】航空发动机结构分析与设计-南京航空航天大学 中国大学慕课MOOC答案
- 高压氧护理进修汇报
- 2025年陕西延长石油(集团)有限责任公司招聘笔试备考试题及答案解析
- 第二单元 第八课 巧用蓝牙做工具 说课稿2024-2025学年人教版(2024)初中信息科技八年级上册
- 《新时代提升基层治理能力的根本路径》课件
- 产品审核程序(含表格)
- 2024年上海市高考物理试卷(含答案解析)
评论
0/150
提交评论