`
onkyo
  • 浏览: 1679 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

在SWT中自定义Splitbutton控件

阅读更多

最近把自己原来做的一些SWT的控件整理了一下, 放到了google code上, 希望对于用SWT写客户端的朋友有所帮助和启发。 http://code.google.com/p/swtsplitbutton/

 

自从微软发布Ribbon风格的界面以后, 在windows平台中Splitbutton成为了一个越来越常用的控件。

 

所谓的SplitButton控件就是在一个按钮的一边显示小箭头,点击这个箭头后展示出分级的功能菜单, 点击非小箭头的区域就和点击普通按钮一样,执行默认的点击事件。 使用Splitbutton节约界面的空间,提高控件的表达能力, 使用一个按钮就实现了原来需要一组按钮实现的功能, 提高界面人性, 并使界面美观简洁。

 

Splitbutton有这那么多的好处, 但SWT并不提供这个Vistal以后才出现的控件, 所以我只好自己模仿做一个了。

 

设计的基本思想是这样的

Splitbutton也是一个按钮, 我们可以在按钮重绘的时候在按钮的右边画一根分割线和一个黑色的小箭头。 然后监视鼠标事件, 如果发生鼠标单击的时候,鼠标的位置是分割线的右面, 小箭头所属的区域, 则在按钮的下放弹出菜单, 反之则执行单击事件。

 

效果图:

 

 

源码和使用的代码实例我都放在google code上了, 此外还有不同平台下的效果截图。

如果有什么问题希望大家和我交流。

 

 

 

  • 大小: 4.9 KB
分享到:
评论

相关推荐

    java swt自定义控件

    本文将深入探讨在Java中使用SWT进行自定义控件的开发。 ### 1. SWT概述 SWT是一个开源的Java库,它的目标是提供与原生GUI库(如Windows的Win32 API,Mac OS的Cocoa,Linux的GTK+)类似的性能和功能。SWT使用JNI...

    SWT/JFace 自定义日历控件(可绑定注册到其他控件)

    SWT自带的DateTime控件属实不好用,而且无法绑定到其他控件上。因此自己写一个日历控件用着方便,功能大致如下: 1、日历控件可自定义设置常见的几种日期格式; 2、可以绑定注册到其他控件如:文本框、按钮、标签上...

    SWT 自定义控件

    - **TAB键操作**:用户可以通过TAB键在控件间切换焦点。 **实践步骤**: 1. **设置Tab顺序**:通过`setTabList`方法设置控件间的焦点切换顺序。 2. **监听焦点变化**:确保焦点切换时的正确行为。 ```java get...

    SWT日期时间选择控件.rar

    在这个“SWT日期时间选择控件.rar”压缩包中,包含的是一个针对SWT框架自定义封装的日期和时间选择器控件。这个控件允许用户方便地选取特定的日期和时间,提高了用户界面的交互性和用户体验。 在SWT中,虽然有基础...

    java swt jface 自定义UI主题 / GUI界面

    标题中的“java swt jface 自定义UI主题 / GUI界面”指的是使用这两个库来创建具有个性化外观和感觉的用户界面。自定义UI主题通常是通过改变控件的颜色、字体、布局以及其他视觉元素来实现的,从而让应用看起来更...

    一个SWT日期时间选择控件类

    在给定的资源中,“SWT日期时间选择控件类”是一个专门为SWT环境设计的控件,使得开发者能够轻松地在Java应用中集成日期和时间选择功能,并且支持拖放操作,提高了用户体验。 这个控件类可能是基于SWT的`Combo`或`...

    SWT.rar_swt自定义组件

    本资源“SWT.rar_swt自定义组件”是一个关于如何在Eclipse中利用SWT来创建自定义控件的学习资料,特别适合初学者探索和实践。 1. SWT基础:SWT是Eclipse基金会维护的一个项目,它提供了一系列的类和接口,用于构建...

    SWT中bean与控件的数据绑定

    2. **Bean和控件**:bean通常是指包含数据和行为的对象,而在SWT中,控件是指UI元素,如Text、Button等。数据绑定就是将bean的属性与控件的值进行映射。 3. **SWT的数据绑定框架**:介绍SWT中用于实现数据绑定的库...

    开发Eclipse自定义控件

    在控件中,我们维护了一些内部数据结构,如Vector colors和colorNames分别存储颜色值和名称,以及记录当前选中项的变量rowSel和oldRowSel。此外,maxX, maxY, lineHeight等变量用于管理控件的尺寸和布局。 绘制工作...

    SWT 中嵌入Word 控件应用

    这篇博客"SWT中嵌入Word控件应用"可能就是讲述如何在Java SWT界面中集成Word编辑功能,使得用户可以直接在应用程序内部创建、编辑和查看Word文档。 SWT是Eclipse开源项目的一部分,它为Java开发者提供了一套用于...

    Draw2D 模拟SWT控件之RadioButton、CheckedBox

    本文将深入探讨如何使用Draw2D模拟SWT中的RadioButton和CheckedBox控件,以及这些控件在实际应用中的作用和实现方式。 首先,RadioButton和CheckedBox是GUI中的两种常见选择控件。RadioButton通常用于提供一组互斥...

    SWT基础代码涵盖其所有控件

    在实际开发中,SWT和JFace通常一起使用,SWT提供底层的控件和事件处理,而JFace则提供了更高级的抽象和工具,简化了开发过程。例如,通过JFace的DataBinding机制,开发者可以轻松地实现模型与视图之间的数据同步。 ...

    SWT/JFace 控件实例

    这涉及到SWT的Shell(顶级窗口)、Composite(复合控件)、Button和Text控件的使用,以及JFace的Dialog和Event Handling机制。 另一个例子可能是关于数据绑定,展示如何将SWT表格与Java对象的数据模型进行关联,使...

    SWT自定义圆形按钮

    SWT原生按钮不够美观,本案例实现自定义圆形按钮,代码可直接下载使用。

    SWT日期控件

    在SWT中,虽然内建了一些基本的控件,但并没有内置日期选择器(date picker)组件。因此,为了在SWT应用中实现日期选择功能,通常会采用第三方库或插件来扩展这一功能,如"SWT 第三方 date picker RCP"。 这个描述...

    SWT控件

    例如,`ListViewer`是SWT中用于显示和操作列表数据的控件,它可以用来展示一系列项目,支持单选或多选,并可以进行排序和过滤。 **2. ListViewer的使用** `ListViewer`是SWT中处理列表数据的核心类。通过`...

    SWT 时间控件及执行bat文件

    在“SWT 时间控件及执行bat文件”这个例子中,我们将探讨如何使用SWT来创建时间选择控件,以及如何利用Java的TimerTask类进行定时任务,同时还会学习如何通过批处理(bat)文件运行Java应用程序。 1. SWT时间控件:...

    Draw2D 模拟SWT控件之TextField、TextArea

    TextField是SWT中用于单行文本输入的控件,用户可以在这里输入少量文字。它可以设置为只读或可编辑,还可以限制输入的最大字符数。在Draw2D中模拟TextField,我们需要实现类似的功能,允许用户在2D图形区域内进行...

    自定义SWT组件文档,源自Eclispe 官方

    本篇文章将深入探讨如何自定义SWT组件,包括创建独立组件和复合组件,并分析如何在保证跨平台兼容性的前提下进行扩展。 创建自定义组件的主要原因有两点:一是添加标准组件未涵盖的新类型控件;二是扩展已有组件的...

    SWT中实现shell Canvas Composite等控件的背景透明

    SWT中实现shell Canvas Composite等控件的背景透明

Global site tag (gtag.js) - Google Analytics