用Java SWT实现MSN气势的下拉框[Java编程]
本文“用Java SWT实现MSN气势的下拉框[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
SWT一个所谓的长处是它的本地化外观,因为它是通过JNI调用操作系统的组件,从而可以保证外观上合适大大都用户的需求,但是一些IM类软件商常常但愿它们的产品有着一套独特的外观,这对SWT这种原生组件来说就有些力不从心了,严峻来说假如你的用户对外观要求对比尖刻,那么Swing是首选,因为L&F机制可以确保你做到这一点,别的Swing还有着很多SWT不具有的长处,比方半透明组件、渲染等,但是少数的这些特点用SWT还是可以模拟的,本文就向大家介绍若何通过自定义组件实现MSN气势的下拉框.
普通来说,SWT供应的组件集基本上能满意大大都用户的需求,而自定义组件普通分为2种,一种是将若干基本组件组合成一个复合组件(如日历组件);第二是对现有组件改进外观从而符合客户的要求;大概将这两种混合利用.操纵SWT实现自定义组件普通要担当Composite或Canvas来实现,但是绝大大都采取担当Composite实现,假如你查看SWT的源代码,你会发现很多SWT高级组件(如ExpandBar)都是直接担当Composite来实现的.
假如要模拟MSN的用户名输入组件,你需求采集一些数据,辨别是:正常、禁用两种状况下边框的颜色;正常、禁用两种状况下的后台色;右边下拉按钮的图标.目前将这几组数据给出.
正常状况下边框的颜色:RGB 170,183,199
禁用状况下边框的颜色:RGB 208,215,229
正常状况下的后台色:RGB 254, 254, 254
禁用状况下的后台色:RGB 238, 241, 249
下拉按钮的图标:
接下来成立一个类叫做ComboSelector担当自Composite.需求指出的是,这个自定义组件SWT组件库支持,在Eclipse下假若有VE、swt-designer这样的插件可以借助向导将必要的库导入到工程的classpath下,此外假如布置SWT利用程序还需求一个动态库,关于若何布置本文不作阐述.
成立以上这些数据常量
private final Color ENABLED_LINE_COLOR = new Color(Display.getCurrent(), 170, 183, 199);
private final Color DISABLED_LINE_COLOR = new Color(Display.getCurrent(), 208, 215, 229);
private final Color ENABLED_BG = new Color(Display.getCurrent(), 254, 254, 254);
private final Color DISABLED_BG = new Color(Display.getCurrent(), 238, 241, 249);
private final Image COMBO_ICON = new Image(Display.getDefault(), "combo.png");
别的你还需求一个基本文本组件用于输入、一个菜单显示保存的数据.
private Text inputText;
private Menu selectorMenu;
以上这些是和显示相关的变量,但是除了这些还要保存暂时的数据,辨别是当前用户挑选了的那一项、下拉框全部数据项的调集.为了实现通用性和移植性这两组数据均用Object保存.
private Object selectedItem;
private Vector dataSet = new Vector();
接着定义构造函数.
public ComboSelector(Composite parent) {...}
以上是“用Java SWT实现MSN气势的下拉框[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |