当前位置:编程学习 > JAVA >>

三天都没有解决 JFace TreeColumn 显示问题

使用JFace Tree实现一个表格树,鼠标点击节点,选择整行记录,使用SWT.FULL_SELECTION属性。表格树显示出来了,可不鞥你完成选中整行记录,最严重的是鼠标滑过后表格就出现蓝色的区域,不使用SWT.FULL_SELECTION就会出现自提加粗现象,急需各位大侠帮忙解决啊,运行一下就能看到我说的效果了。感谢!代码如下:
import java.io.File;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeColumn;

public class TreeColumnTest {

public void run() {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final TreeViewer viewer = new TreeViewer(shell, SWT.BORDER
| SWT.FULL_SELECTION);
Tree tree = viewer.getTree();
tree.setLinesVisible(true);
tree.setHeaderVisible(true);
TreeColumn column = new TreeColumn(viewer.getTree(), SWT.NONE);
column.setText("Name");
column.setWidth(200);
column = new TreeColumn(viewer.getTree(), SWT.LEFT);
column.setText("Size");
column.setWidth(100);
column = new TreeColumn(viewer.getTree(), SWT.LEFT);
column.setText("Hidden");
column.setWidth(100);
viewer.setContentProvider(new MyTreeContenetProvider());
viewer.setLabelProvider(new MyTableLableProvider());
viewer.setInput(new File("c:/"));

for (int i = 0, n = tree.getColumnCount(); i < n; i++) {
tree.getColumn(i).pack();
}

shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}

public static void main(String[] args) {
new TreeColumnTest().run();
}
}

效果图如下:
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,