Eclipse 使用tableviewer swt/jface显示大量行/列有任何限制吗

Eclipse 使用tableviewer swt/jface显示大量行/列有任何限制吗,eclipse,swt,jface,Eclipse,Swt,Jface,在我自己的eclipse产品中,我试图加载更多的行以显示在表中。我正在使用jface tableviewer。检索数据时,我发现swt处理程序出错。使用jface tableviewer显示行数是否有任何限制 我使用的配置有Eclipse4.14、Windows10和OpenJDK11 下面是我如何继续操作的一些代码 我们使用excel以表格格式加载数据 在excel中,我们有225列和15行。我正在附上 对应的excel 我们正在导入excel表格数据,其中225列为 具有7列标题的表格格式,

在我自己的eclipse产品中,我试图加载更多的行以显示在表中。我正在使用jface tableviewer。检索数据时,我发现swt处理程序出错。使用jface tableviewer显示行数是否有任何限制

我使用的配置有Eclipse4.14、Windows10和OpenJDK11 下面是我如何继续操作的一些代码 我们使用excel以表格格式加载数据 在excel中,我们有225列和15行。我正在附上
对应的excel

我们正在导入excel表格数据,其中225列为
具有7列标题的表格格式,如下所示

TableViewerColumn upDownColumn = new TableViewerColumn(viewer, SWT.NONE);
upDownColumn.getColumn().setText(UP_DOWN);
upDownColumn.getColumn().setWidth(130);
upDownColumn.getColumn().setResizable(false);
为此,我们使用jface tableviewer

  TableViewer viewer = new TableViewer(parent, SWT.HIDE_SELECTION);
    table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(false);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    String[] columnNames = new String[8];
    GridLayout tableLayout = new GridLayout();
    tableLayout.marginTop = 30;
    tableLayout.verticalSpacing = 5;
    table.setLayout(tableLayout);
对于列标题,我们正在为每个列创建,如下所示

TableViewerColumn upDownColumn = new TableViewerColumn(viewer, SWT.NONE);
upDownColumn.getColumn().setText(UP_DOWN);
upDownColumn.getColumn().setWidth(130);
upDownColumn.getColumn().setResizable(false);
要为每个列设置标签提供程序,我们将创建
基于下表的渲染器

CustomLabelControlRenderer renderer = PropertySheetUtil. 
createRenderer(CustomLabelControlRenderer.class, table,setting, 
null);          
columnNames[0] = UP_DOWN;
与上面一样,我们正在创建7个列标题 创建列标题后,我们将输入设置为

    viewer.setColumnProperties(columnNames);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setUseHashlookup(true);
    viewer.setInput(fieldList);
    table.getVerticalBar().setVisible(true)  
我的表格截图如下图所示

我们在控制台中得到错误,如下所示 !条目org.eclipse.ui 4 0 2020-01-23 12:39:47.303 !消息未处理的事件循环异常 !堆栈0 org.eclipse.swt.SWTError:不再有句柄 位于org.eclipse.swt.swt.error(swt.java:4737) 位于org.eclipse.swt.swt.error(swt.java:4626) 位于org.eclipse.swt.swt.error(swt.java:4597) 位于org.eclipse.swt.widgets.Widget.error(Widget.java:452) 位于org.eclipse.swt.widgets.Control.createHandle(Control.java:721) 位于org.eclipse.swt.widgets.Composite.createHandle(Composite.java:295) 位于org.eclipse.swt.widgets.Control.createWidget(Control.java:761) 位于org.eclipse.swt.widgets.Scrollable.createWidget(Scrollable.java:154) 位于org.eclipse.swt.widgets.Control.(Control.java:115) 位于org.eclipse.swt.widgets.Scrollable.(Scrollable.java:85) 位于org.eclipse.swt.widgets.Composite(Composite.java:99) 位于com.spacetimeinsight.sistudio.datasource.renderers.DataSourceFieldsRenderer$6.update(DataSourceFieldsRenderer.java:353) 位于org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:144) 位于org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:396) 位于org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:422) 位于org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) 位于org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47) 位于org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) 位于org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2097) 位于org.eclipse.jface.viewers.AbstractTableViewer.createItem(AbstractTableViewer.java:288) 位于org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:726) 位于org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:618) 位于org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:610) org.eclipse.jface.viewers.AbstractTableViewer.lambda$0(AbstractTableViewer.java:572) 位于org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1393) 位于org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1354) 位于org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:572) 位于org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:282) 位于org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1627) 位于com.spacetimeinsight.sistudio.datasource.renderers.DataSourceFieldsRenderer.createCustomSwtControl(DataSourceFieldsRenderer.java:536) 位于com.spacetimeinsight.sistudio.core.propertysheet.AbstractBaseControlRenderer.createSWTControl(AbstractBaseControlRenderer.java:449) 位于com.spacetimeinsight.sistudio.core.propertysheet.AbstractBaseControlRenderer.initControl(AbstractBaseControlRenderer.java:270) 位于com.spacetimeinsight.sistudio.ui.datasource.DataSourceComponentSection.createTableImportDataSource(DataSourceComponentSection.java:490) 在com.spacetimeinsight.sistudio.ui.datasource.DataSourceComponentSection.shouldRadioGroupCreated上(DataSourceComponentSection.java:215) 位于com.spacetimeinsight.sistudio.ui.datasource.DataSourceComponentSection.createControls(DataSourceComponentSection.java:149) 位于com.spacetimeinsight.sistudio.datasource.AbstractDataSourceType.createControls(AbstractDataSourceType.java:292) 位于com.spacetimeinsight.sistudio.ui.datasource.DataSourceFieldPropertySection.updateControl(DataSourceFieldPropertySection.java:48) 位于com.spacetimeinsight.sistudio.core.propertysheet.CustomPropertySection.setInput(CustomPropertySection.java:137) 位于org.eclipse.ui.views.properties.tabbed.TabContents$5.run(TabContents.java:184) 位于org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) 位于org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47) 位于org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) 位于org.eclipse.ui.views.properties.tabbed.TabContents.setInput(TabContents.java:187) 在com.spacetimeinsight.sistudio.ui.common.tabbed.CustomTabbedPropertySheetPage$SelectionChangedListener.selectionChanged(CustomTabbedPropertySheetPage.java:206) 位于org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) 位于org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) 位于org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47) 位于org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) 在org.eclipse.jface.viewers.Viewer.fireSelectionChanged上(Viewer.java:148) 位于org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2118) 位于org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1170) 在org.eclipse.jface.viewers.St