Table与TableViewer

我正在使用SWT创建一个新项目。 项目中将有3或4个不同的表格。 我对SWT相当陌生,我发现自己问我应该只使用Table还是TableViewer

我想学习一些关于何时只使用Table以及TableViewer是最佳路线的一些很好的指导。

  • 使用TableViewer而不是Table什么好处?
  • 是否所有的表都有一个TableViewer
  • 如果我的数据从表中工作,只是Table的最佳方式?
  • 只是真的想要一些清晰的东西,所以当我创建这个项目时,我会以正确的方式去做。

    编辑

    我创建了一个我用于第一个表的Tablemodel类。 但createColumns方法专用于特定的表。

    是否有可能有一个模板TableViewer类?
    我可以将该方法更改为更适用于不同的表格吗?

    这是该方法的一个片段:

    private void createColumns() {
    
      String[] titles = { "ItemId", "RevId", "PRL", "Dataset Name", "EC Markup" };
      int[] bounds = { 150, 150, 100, 150, 100 };
    
      TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0);
      col.setLabelProvider(new ColumnLabelProvider() {
         public String getText(Object element) {
            if(element instanceof AplotDataModel.AplotDatasetData)
               return ((AplotDataModel.AplotDatasetData)element).getDataset().toString();
            return super.getText(element); 
            }
         }); 
    
      col = createTableViewerColumn(titles[1], bounds[1], 1);
      col.setLabelProvider(new ColumnLabelProvider() {
         public String getText(Object element) {
            if(element instanceof AplotDataModel.AplotDatasetData)
               return ((AplotDataModel.AplotDatasetData)element).getRev().toString();
            return super.getText(element); 
            }
         });
    

    一般来说,我会建议一个TableViewer 。 观众会照顾大部分事情,你必须用Table来做自己。 删除和添加和移动项目更容易,并且可以自定义项目的显示方式。 查看器处理点击事件非常简单。

    很少有情况下,我会在没有TableViewer情况下使用Table 。 例如:当表仅用于显示永不改变的静态项目集时。 在这种情况下, TableViewer可能会略高于顶端。

    但是,您应该记住,您的项目可能会增长,您可能需要这些“简单”的表格来做更多的事情,而不只是显示静态项目。 在这种情况下,您将不得不使用查看器来替换表格,这将是一项非常重要的工作。

    因此,在使用没有TableViewerTable之前,请三思。


    http://sunnyshekhar.blogspot.com/2013/04/creating-swt-table-below-i-will-try-to.html

    在这里我试图解释如何在swt中创建一个表。 我想在swt中创建一个表格说起来容易做起来难。 我们必须面对很多复杂性。 实现有点难以理解。 但是我们有很多swt中可用的定制。 还有一点需要注意的是,Swt是一个高于Os的层,所以在Swt中我们使用Os提供给我们的任何东西。 有时很难创建一个复选框并将其移动到单元格的中心。 在创建表格时,我遇到了很多类似的问题,但您总是对它们有黑客或解决方法。 在Swt中,我们定义了很好的类,如果你实现了这个类,就可以使用各种方法来玩弄表格。


    我建议你总是使用TableViewer除非你想做很多定制。

    http://www.eclipse.org/articles/article.php?file=Article-CustomDrawingTableAndTreeItems/index.html

    好文章开始

    http://www.vogella.com/articles/EclipseJFaceTable/article.html#tutorial_jfacetableviewer_usage

    链接地址: http://www.djcxy.com/p/63747.html

    上一篇: Table vs. TableViewer

    下一篇: How to define LTI systems with Time delay in Scipy?