Bonjour,
J'essaie d'enlever des colonnes pour en remettre d'autres dans un TreeViewer.
Je fais un dispose() sur chacune des colonnes (sur le Tree) que je veux enlever, et je rajoute les nouvelles colonnes avec des TreeColumnViewer.
donc:
et ensuite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for (TreeColumn column : viewer.getTree().getColumns()) { column.dispose(); }
Au refresh, j'ai systématiquement une NullPointerException:
Code : Sélectionner tout - Visualiser dans une fenêtre à part treeviewercolumn = new TreeViewerColumn(viewer, SWT.NONE);
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:135)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:911)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:97)
at org.eclipse.jface.util.SafeRunnable$3.run(SafeRunnable.java:154)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:991)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:466)
at org.eclipse.jface.util.SafeRunnable$3.run(SafeRunnable.java:154)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2026)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:806)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:781)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:755)
at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:627)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1463)
at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:816)
at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1446)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1368)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:390)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1330)
at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1435)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:251)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1606)
Le résultat à l'écran montre que les entêtes des colonnes sont OK, mais évidemment tout l'arbre n'est pas affiché...
J'ai cherché un peu partout, mais je n'ai rien trouvé sur le sujet. Quelqu'un aurait une idée pour m'éviter de reconstruire toute la Shell ?
Merci.
Eclipse 3.3.1
Java 5
Windows XP
Partager