/**
* This util calss provides some general RCP methods
*
* @author Louis
*/
public class RcpUtils {
/**
* Add sorter to the specified column, compares using Collator
*/
public static void addSorter(final Table table, final TableColumn column) {
column.addListener(SWT.Selection, new Listener() {
boolean isAscend = true;
Collator comparator = Collator.getInstance(Locale.getDefault());
public void handleEvent(Event e) {
int columnIndex = getColumnIndex(table, column);
TableItem[] items = table.getItems();
for (int i = 1; i < items.length; i++) {
String value2 = items[i].getText(columnIndex);
for (int j = 0; j < i; j++) {
String value1 = items[j].getText(columnIndex);
boolean isLessThan = comparator.compare(value2, value1) < 0;
if ((isAscend && isLessThan) || (!isAscend && !isLessThan)) {
String[] values = getTableItemText(table, items[i]);
Object obj = items[i].getData();
items[i].dispose();
TableItem item = new TableItem(table, SWT.NONE, j);
item.setText(values);
item.setData(obj);
items = table.getItems();
break;
}
}
}
table.setSortColumn(column);
table.setSortDirection((isAscend ? SWT.UP : SWT.DOWN));
isAscend = !isAscend;
}
});
}
public static int getColumnIndex(Table table, TableColumn column) {
TableColumn[] columns = table.getColumns();
for (int i = 0; i < columns.length; i++) {
if (columns[i].equals(column))
return i;
}
return -1;
}
public static String[] getTableItemText(Table table, TableItem item) {
int count = table.getColumnCount();
String[] strs = new String[count];
for (int i = 0; i < count; i++) {
strs[i] = item.getText(i);
}
return strs;
}
}
//默认使用字符串排序, 使用方法:
//RcpUtils.addSorter(table, column1);
//RcpUtils.addSorter(table, column2);
分享到:
相关推荐
swt 基础教程 swt 基础教程 swt 基础教程swt 基础教程swt 基础教程
swt table 实现换行
SWT表格管理类,包括表头排序事件,table宽度自适应事件,隔行颜色事件
swt 组件介绍,使你开发的好帮手
SWT Table 单元格编辑实例代码
DJNativeSwing-SWT组件-Java GUI中内嵌浏览器相关JAR包
Eclipse开发经典教程:常用SWT组件.pdf
工具类实现了分页,虽然还有些欠缺,如在搜索栏和导出菜单未考虑分页的情况
java SWT 基本窗口 组件 开发
本包包含基础组件的demo及属性介绍,扩展组件,自定义组件,滚动条,分割线,分组、布局、选项卡等以及高级组件的应用demo
SWT提供的标准组件毕竟有限,很多时候我们都需要自定义组件。本文介绍了自定以SWT组件的方法,可以创建独立的也可以创建复合的。 文章 地址 : ...
SWT常用窗口组件详情,以及各个组件对应的系统方法的方法解释
SWT 组件方便javaGUI设计。。。
修改类库中的tooltip、单元格的复制与粘贴
编程实现解释显示效果较好的简单浏览器。网络上有很多五花八门的用Java制作的简易浏览器,这里简单介绍一种利用SWT组件开发的简易浏览器。
基于java语言,应用eclipse SWT类库+Jdbc+SqlServer数据库,实现同一界面展示散点图和数据表格展示,满足跨平台、安全等软件应用需求。
java语言,通过swt调用ocx组件的源代码!前提是要有swt开发环境!
下载后你自己创建一个根目录,把cho4文件夹都导入,配置你的数据库,就可以直接运行,有一点要知道,该小示例中的修改和删除功能都是以获取数据下标为ID进行与数据库操作的,可以参考
swt sqlserver分页组件,详情查看我的博客
在eclipse中使用SWT自定义控件的例子,适合初学者