蒙在股里 发表于 2015-1-18 11:16:33

发布一篇开辟Eclipse自界说控件

还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net网页编程,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。
方针读者必需熟习Java开辟,而且有必定的Eclipse开辟履历。
在Eclipse网站上有一篇相干的文章"CreatingYourOwnWidgetsusingSWT",该文先容了开辟本人控件的良多基础观点、办法,而且经由过程实例举行了先容,十分好。可是其所用的实例对照复杂,另有良多控件开辟中所要触及到的内容,比方键盘、鼠标事务的处置,转动条、核心的处置等等没有说起。本文经由过程开辟一个自界说的色彩列表控件的实例,周全地先容了自界说控件所触及的手艺。同时,读者也能够对该实例举行扩大,完成本人的列表控件。
SWT中供应的尺度列表控件十分复杂,只能供应字符串的选择。我们常常必要供应一些图形列表供用户选择,这就必要本人开辟自界说的列表控件。色彩选择列表是我们经常使用的一种图形列表,我们就以此为例举行先容。以下是我们将要开辟的色彩列表。
我们在开辟自界说控件时次要思索以下成绩:
1、自界说控件的绘制:一般我们必要本人对控件的外形或图案举行绘制;
2、控件对键盘事务的呼应:当核心进进控件,用户举行键盘操纵,经由过程键盘对控件举行把持时,我们必要让控件对用户的操纵举行呼应。比方在列表中,用户会经由过程高低箭头改动列表的选择项;
3、控件对鼠标事务的呼应:当用户用鼠标选中控件,举行操纵时,控件必需作出响应的反响;
4、控件对核心事务的呼应:当界面核心进进或移出控件,一般我们必要将控件绘制成失掉或得到核心的外形。比方,当核心进出列表时,一样平常被选中的列表项会有虚框暗示选中。
5、呼应TAB键:关于一个可利用的控件,用户能够用TAB键将核心移进或移出。
6、呼应转动条事务:当控件有转动条时,我们必要呼应用户对转动条的操纵,完成对控件的绘制事情。
7、供应事务监听机制:程序员利用你的控件时一般必要监听控件中产生的一些事务,如许当事务产生时,他们可以举行响应处置。
8、供应帮助功效(Accessibility):帮助功效是便利残障人士利用时必需的,尺度控件城市供应响应的撑持,我们自界说的控件也不破例。
9、供应功效接口便利程序员会见:一般为便利程序员利用时猎取控件中的信息或举行设置,我们必要供应一些接口。
起首我们要开辟的列表控件是一个基础控件,以是我们选择Canvas作为我们开辟的基类。
public class ColorList extends Canvas {
 Vector colors = new Vector(); // 用于保留我们色彩控件中的色彩值
 Vector colorNames = new Vector(); // 用于保留色彩控件中的色彩名字

 int rowSel = -1; // 用于保留以后选中的行号
 int oldRowSel = -1; // 用于保留上一次选中的行号

 int maxX, maxY; // 用于保留列表的宽度和高度
 int lineHeight; // 用于设置行高

 int cx = 0; // 转动条转动后,控件的图形相对控件可见地区左上角的x坐标
 int cy = 0; // 转动条转动后,控件的图形相对控件可见地区左上角的y坐标
 }
<p>
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:

谁可相欹 发表于 2015-1-20 19:07:07

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

飘飘悠悠 发表于 2015-1-29 15:29:15

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

冷月葬花魂 发表于 2015-2-4 16:18:12

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

因胸联盟 发表于 2015-2-10 03:57:00

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

愤怒的大鸟 发表于 2015-2-21 20:20:32

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

山那边是海 发表于 2015-3-4 00:54:23

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

不帅 发表于 2015-3-10 18:18:55

是一种突破用户端机器环境和CPU

简单生活 发表于 2015-3-17 09:03:28

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

仓酷云 发表于 2015-3-24 04:04:28

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
页: [1]
查看完整版本: 发布一篇开辟Eclipse自界说控件