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
可能会略高于顶端。
但是,您应该记住,您的项目可能会增长,您可能需要这些“简单”的表格来做更多的事情,而不只是显示静态项目。 在这种情况下,您将不得不使用查看器来替换表格,这将是一项非常重要的工作。
因此,在使用没有TableViewer
的Table
之前,请三思。
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