读书人

jface取得treeview中某一行某一列 变

发布时间: 2012-08-11 20:50:31 作者: rapoo

jface获得treeview中某一行某一列 变色

此处用的是CheckboxTreeViewer 和treeview大同小异

首先获得Point

tree.addMouseListener(new MouseListener() {

@Override
public void mouseUp(MouseEvent e) {

}

@Override
public void mouseDown(MouseEvent e) {
point = new Point(e.x, e.y);
}

@Override
public void mouseDoubleClick(MouseEvent e) {

}
});

其次根据point获得TreeItem 再变色

tv.addCheckStateListener(new ICheckStateListener() {
public void checkStateChanged(CheckStateChangedEvent event) {
// If the item is checked . . .
TreeItem ti = tree.getItem(point);

// 也可以不用point

// TreeItem ti = ((TreeItem) tv.testFindItem(event.getElement()));
if (event.getChecked()) {
tv.setSubtreeChecked(event.getElement(), true);
ti.setBackground(0, Display.getCurrent().getSystemColor(SWT.COLOR_RED)); //获得当前行的第一列 并设置RED色
} else {
tv.setSubtreeChecked(event.getElement(), false);
ti.setBackground(0, Display.getCurrent().getSystemColor(SWT.COLOR_CYAN)); //获得当前行的第一列 并设置CYAN色

}
}
});

读书人网 >其他相关

热点推荐