1.按钮触发事件的代码:
selectButton.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(final SelectionEvent e) {
}
}); (其中这些代码是内部类来进行实现的)
2.刷新数据的时候:
blackListInfo = BlackListInit.getBlackList();
tableViewer.setInput(blackListInfo);(相当于把数据重新加载了一次)
3.排序器的实现
class ColumSorter extends ViewerSorter {
private static final int ASCENDING = 0;
private static final int DESCENDING = 1;
private int order;
private int column;
public void doSort(int column) {
if (column == this.column) {
order = 1 - order;
} else {
this.column = column;
order = ASCENDING;
}
}
public int compare(Viewer viewer, Object e1, Object e2) {
int result = 0;
ItemInfoInit p1 = (ItemInfoInit) e1;
ItemInfoInit p2 = (ItemInfoInit) e2;
switch (column) {
case 0:
result = p1.deviceName.compareTo(p2.deviceName);(这四个字段是表格的列数)
break;
case 1:
result = p1.factoryName.compareTo(p2.factoryName);
break;
case 2:
result = p1.categoryName.compareTo(p2.categoryName);
break;
case 3:
result = p1.regionName.compareTo(p2.regionName);
break;
}
if (order == DESCENDING) {
result = -result;
}
return result;
}
}
本文介绍了使用SWT实现按钮事件监听及表格数据的刷新与排序功能。通过内部类实现按钮点击事件,当按钮被点击时触发特定操作;并详细展示了如何通过自定义排序器对表格中的数据进行升序或降序排列。
1479

被折叠的 条评论
为什么被折叠?



