SWT学习:[1]Table的用法及示例
1、创建Table:
Table table = new Table(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
Table可以使用的样式:
SWT.MULTI——选中多行;
SWT.FULL_SELECTION——选中一行中的全部单元格;
SWT.CHECK——带复选框的Table;
2、设置表头可见:
table.setHeaderVisible(true);
设置表格线可见:
table.setLinesVisible(true);
3、添加列:
TableColumn tc = new TableColumn(table, SWT.CENTER);
//这个是我自己定义的键值类NameValue nv = new NameValue("Num", "编号"); tc.setData(nv);//设置数据 tc.setText(nv.getValue());//设置列名 tc.setWidth(40);//设置列宽 tc.setResizable(false);//设置列宽不能改变
4、添加行:
TableItem item = null; for (int row = 0; row < objs.length; row++) { item = new TableItem(table, SWT.NONE); item.setText(0, row + 1 + ""); for (int col = 0; col < table.getColumnCount() ; col++) { if (objs[row][col] != null) item.setText(col + 1, objs[row][col].toString()); }
}
此处的objs是二维数组。
5、给某行设置前景色或者背景色:
//指定颜色
Display display = new Display();Color red = display.getSystemColor(SWT.COLOR_RED);
//可以在添加行的时候同时设置前景或者背景色。 item.setForeground(red);
6、为Table添加监听事件:
--------例1---------
选中事件
table.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) {
//TODO ....
}
}
---------例2--------
鼠标按下事件
table.addListener(SWT.MouseDown, new Listener() { public void handleEvent(Event event) {
//TODO....
}
}
7、改变Table中某个单元格的值:
tableItem.setText(columnIndex, value);