ユーザーが TreeViewer で特定のノードを展開すると、1 つではなく 2 つのレベルを展開する必要があります。そこで、次のコードを追加しました。
viewer.addTreeListener(new ITreeViewerListener() {
public void treeCollapsed(TreeExpansionEvent event) {
}
public void treeExpanded(TreeExpansionEvent event) {
if (event.getElement() instanceof Feature) {
Feature feature = (Feature) event.getElement();
viewer.expandToLevel(feature, 2);
}
}
});
しかし、機能ノードを展開するときにのみ、このエラー メッセージが表示されます。
!MESSAGE Ignored reentrant call while viewer is busy. This is only logged once per viewer instance, but similar calls will still be ignored.
!STACK 0
java.lang.RuntimeException
at org.eclipse.jface.viewers.ColumnViewer.checkBusy(ColumnViewer.java:781)
at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1071)
...
私が間違っていること、または別の方法で解決する方法はありますか?
乾杯、フィル