SWT学习:[1]Table的用法及示例
1、创建Table:Table table=newTable(composite,SWT.MULTI|SWT.FULL_SELECTION|SWT.CHECK);Table可以使用的样式:SWT.MULTI——选中多行;SWT.FULL_SELECTION——选中一行中的全部单元格;SWT.CHECK——带复选框的Table;
![SWT学习:[1]Table的用法及示例](https://exp-picture.cdn.bcebos.com/dd58d02c5b1b1edee03fd38a981fceecd2d90f7a.jpg)
2、设置表头可见:table.setHeaderVisible(true);设置表格线可见:table.setLinesVisible(true);
![SWT学习:[1]Table的用法及示例](https://exp-picture.cdn.bcebos.com/edd84743040148fe01a12ed88fd149299b88027a.jpg)
3、添加列:TableColumn tc = new TableColumn(table, SWT.CENTER);//这个是我自己定义的键值类NameValuenv = new NameValue("Num", "编号");tc.setData(nv);//设置数据tc.setText(nv.getValue());//设置列名tc.setWidth(40);//设置列宽tc.setResizable(false);//设置列宽不能改变
![SWT学习:[1]Table的用法及示例](https://exp-picture.cdn.bcebos.com/3852f6e5eceeadbc96cc34c3cd18dfdae53b7b7a.jpg)
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是二维数组。
![SWT学习:[1]Table的用法及示例](https://exp-picture.cdn.bcebos.com/e57a258602214f57a3b52008732064fb970b737a.jpg)
5、给某行设置前景色或者背景色://指定颜色Display display = new Display();Color red = display.getSystemColor(SWT.COLOR_RED);//可以在添加行的时候同时设置前景或者背景色。item.setForeground(red);
![SWT学习:[1]Table的用法及示例](https://exp-picture.cdn.bcebos.com/30601b6104a355e9ba4d9b64d22ae3efe178687a.jpg)
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....}}
![SWT学习:[1]Table的用法及示例](https://exp-picture.cdn.bcebos.com/332d496699cf02536b8050366b36e29146e85f7a.jpg)
7、改变Table中某个单元格的值:tableItem.setText(columnIndex, value);
![SWT学习:[1]Table的用法及示例](https://exp-picture.cdn.bcebos.com/3fc72e486143d7d419d277587da75f0f832b507a.jpg)