67,515
社区成员
发帖
与我相关
我的任务
分享
public class TreeViewerAutoFitListener implements ITreeViewerListener {
public void treeExpanded(TreeExpansionEvent event) {
packColumns((TreeViewer) event.getSource());
}
public void treeCollapsed(TreeExpansionEvent event) {
packColumns((TreeViewer) event.getSource());
}
private void packColumns(final TreeViewer treeViewer) {
treeViewer.getControl().getShell().getDisplay().asyncExec(new Runnable() {//关键是这句Display.asyncExec()
public void run() {
TreeColumn[] treeColumns = treeViewer.getTree().getColumns();
for (TreeColumn treeColumn: treeColumns) {
if (treeColumn.getWidth() == 0)
continue;
treeColumn.pack();
}
}
});
}
}
treeViewer.addTreeListener(new TreeViewerAutoFitListener());