了解下JAVA的用Java SWT完成MSN作风的下拉框
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。SWT一个所谓的长处是它的当地化表面,由于它是经由过程JNI挪用操纵体系的组件,从而能够包管表面上合适年夜多半用户的需求,可是一些IM类软件商常常但愿它们的产物有着一套共同的表面,这对SWT这类原生组件来讲就有些力所能及了,严厉来讲假如你的用户对表面请求对照刻薄,那末Swing是首选,由于L&F机制能够确保你做到这一点,别的Swing另有着很多SWT不具有的长处,比方半通明组件、衬着等,可是多数的这些特征用SWT仍是能够摹拟的,本文就向人人先容怎样经由过程自界说组件完成MSN作风的下拉框。
一般来讲,SWT供应的组件集基础上能满意年夜多半用户的需求,而自界说组件一般分为2种,一种是将多少基础组件组分解一个复合组件(如日历组件);第二是对现有组件改良表面从而切合客户的请求;大概将这两种夹杂利用。使用SWT完成自界说组件一般要承继Composite或Canvas来完成,可是尽年夜多半接纳承继Composite完成,假如你检察SWT的源代码,你会发明良多SWT初级组件(如ExpandBar)都是间接承继Composite来完成的。
假如要摹拟MSN的用户名输出组件,你必要收罗一些数据,分离是:一般、禁用两种形态下边框的色彩;一般、禁用两种形态下的背景致;右侧下拉按钮的图标。如今将这几组数据给出。
一般形态下边框的色彩:RGB170,183,199
禁用形态下边框的色彩:RGB208,215,229
一般形态下的背景致:RGB254,254,254
禁用形态下的背景致:RGB238,241,249
下拉按钮的图标:
接上去创立一个类叫做ComboSelector承继自Composite。必要指出的是,这个自界说组件SWT组件库撑持,在Eclipse下假如有VE、swt-designer如许的插件能够借助导游将需要的库导进到工程的classpath下,别的假如部署SWT使用程序还必要一个静态库,关于怎样部署本文不作论述。
创立以上这些数据常量
privatefinalColorENABLED_LINE_COLOR=newColor(Display.getCurrent(),170,183,199);
privatefinalColorDISABLED_LINE_COLOR=newColor(Display.getCurrent(),208,215,229);
privatefinalColorENABLED_BG=newColor(Display.getCurrent(),254,254,254);
privatefinalColorDISABLED_BG=newColor(Display.getCurrent(),238,241,249);
privatefinalImageCOMBO_ICON=newImage(Display.getDefault(),"combo.png");
别的你还必要一个基础文本组件用于输出、一个菜单显现保留的数据。
privateTextinputText;
privateMenuselectorMenu;
以上这些是和显现相干的变量,可是除这些还要保留一时的数据,分离是以后用户选择了的那一项、下拉框一切数据项的汇合。为了完成通用性和移植性这两组数据均用Object保留。
privateObjectselectedItem;
privateVectordataSet=newVector();
接着界说机关函数。
publicComboSelector(Compositeparent){...}
<p>
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是net网页编程beans,谢谢。 Java 编程语言的风格十分接近C、C++语言。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种使网页(Web Page)产生生动活泼画面的语言 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) Java 编程语言的风格十分接近C、C++语言。
页:
[1]