知识大全 开发Eclipse下的自定义控件[1]

Posted

篇首语:奋斗者在汗水汇集的江河里,将事业之舟驶到了理想的彼岸。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 开发Eclipse下的自定义控件[1]相关的知识,希望对你有一定的参考价值。

开发Eclipse下的自定义控件[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文首先介绍模型转换的基本概念 然后介绍RSA模型转换框架 之后本文以两个具体的例子介绍如何在RSA开发平台中以模型转换框架为基础创建和扩展模型转换    现在基于Eclipse的应用越来越多 很多桌面应用都是用Eclipse开发的 Eclipse提供了一套SWT/JFACE的控件库 使得人们开发界面应用极大的方便 但是 SWT/JFACE的控件库毕竟有限 在应用开发是我们不可避免地要自己开发一些自定义的控件 本文通过开发一个颜色列表控件的实例介绍了Eclipse自定义控件开发中所要用到的技术

  目标读者必须熟悉Java开发 并且有一定的Eclipse开发经验

  在Eclipse网站上有一篇相关的文章 Creating Your Own Widgets using SWT 该文介绍了开发自己控件的很多基本概念 方法 并且通过实例进行了介绍 非常好 但是其所用的实例比较简单 还有很多控件开发中所要涉及到的内容 例如键盘 鼠标事件的处理 滚动条 焦点的处理等等没有提及 本文通过开发一个自定义的颜色列表控件的实例 全面地介绍了自定义控件所涉及的技术 同时 读者也可以对该实例进行扩展 实现自己的列表控件  

  SWT中提供的标准列表控件非常简单 只能提供字符串的选择 我们经常需要提供一些图形列表供用户选择 这就需要自己开发自定义的列表控件 颜色选择列表是我们常用的一种图形列表 我们就以此为例进行介绍 以下是我们将要开发的颜色列表

  我们在开发自定义控件时主要考虑以下问题

   自定义控件的绘制 通常我们需要自己对控件的形状或图案进行绘制

   控件对键盘事件的响应 当焦点进入控件 用户进行键盘操作 通过键盘对控件进行控制时 我们需要让控件对用户的操作进行响应 例如在列表中 用户会通过上下箭头改变列表的选择项

   控件对鼠标事件的响应 当用户用鼠标选中控件 进行操作时 控件必须作出相应的反应

   控件对焦点事件的响应 当界面焦点进入或移出控件 通常我们需要将控件绘制成得到或失去焦点的形状 例如 当焦点进入列表时 一般被选中的列表项会有虚框表示选中

   响应TAB键 对于一个可操纵的控件 用户可以用TAB键将焦点移入或移出

   响应滚动条事件 当控件有滚动条时 我们需要响应用户对滚动条的操作 完成对控件的绘制工作

   提供事件监听机制 程序员使用你的控件时通常需要监听控件中发生的一些事件 这样当事件发生时 他们能够进行相应处理

   提供辅助功能(Accessibility) 辅助功能是方便残障人士使用时必须的 标准控件都会提供相应的支持 我们自定义的控件也不例外

   提供功能接口方便程序员访问 通常为方便程序员使用时获取控件中的信息或进行设置 我们需要提供一些接口

  首先我们要开发的列表控件是一个基本控件 所以我们选择Canvas作为我们开发的基类

public class ColorList extends Canvas Vector colors = new Vector(); // 用于保存我们颜色控件中的颜色值Vector colorNames = new Vector(); // 用于保存颜色控件中的颜色名字

int rowSel = ; // 用于保存当前选中的行号int oldRowSel = ; // 用于保存上一次选中的行号

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

int cx = ; // 滚动条滚动后 控件的图形相对于控件可见区域左上角的x坐标int cy = ; // 滚动条滚动后 控件的图形相对于控件可见区域左上角的y坐标

  控件开发最重要的就是控件的绘制了 控件的绘制可以通过添加PaintListener 在它的paintControl方法中进行

cha138/Article/program/Java/ky/201311/28986

相关参考

知识大全 开发Eclipse下的自定义控件[3]

开发Eclipse下的自定义控件[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!addMous

知识大全 开发Eclipse下的自定义控件[5]

开发Eclipse下的自定义控件[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!publicv

知识大全 开发Eclipse下的自定义控件[6]

开发Eclipse下的自定义控件[6]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!publicv

知识大全 开发Eclipse下的自定义控件[4]

开发Eclipse下的自定义控件[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作为一个可

知识大全 技术分享——开发Eclipse自定义控件

技术分享——开发Eclipse自定义控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现在基于

知识大全 使用ASP.Net中的自定义控件[1]

使用ASP.Net中的自定义控件[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 使用ASP.Net中的自定义控件

使用ASP.Net中的自定义控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  if((data

知识大全 使用ASP.Net中的自定义控件[4]

使用ASP.Net中的自定义控件[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 使用ASP.Net中的自定义控件[5]

使用ASP.Net中的自定义控件[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 使用ASP.Net中的自定义控件[2]

使用ASP.Net中的自定义控件[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &