我正在使用SWT创建一个新项目。我将在项目中有3或4个不同的表。我对SWT相当陌生,我发现自己在问自己是应该只使用< code >表格还是应该使用< code >表格查看器。
我想学习一些好的指导方针,告诉我什么时候只使用< code>Table以及什么时候< code>TableViewer是最佳途径。
只是真的需要一些清晰度,所以当我创建项目,我做它的正确方式。
编辑
我创建了一个< code>Tablemodel类,用于我的第一个表。但是< code>createColumns方法是专门针对该特定表的。
有可能有一个模板< code>TableViewer类吗?< br >我是否可以更改方法,使其更适用于不同的表?
下面是该方法的一个片段:
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);
}
});
我建议你总是使用< code>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://sunnyshekhar.blogspot.com/2013/04/creating-swt-table-below-i-will-try-to.html
在这里,我试图解释如何在swt中创建一个表。我想用swt创建一个表格说起来容易做起来难。我们必须面对很多复杂性。实现起来有点难理解。但swt中有很多自定义功能。还有一点需要注意的是,swt是Os之上的一层,所以在swt中,我们使用Os提供的任何功能。有时很难创建一个复选框并将其移动到单元格的中心。我在创建表时遇到了很多类似的问题,但您总是有一些解决方法。在Swt中,我们有定义良好的类,如果您实现了这些类,就可以使用各种方法来处理表。
一般来说,我建议使用TableViewer
。查看器将处理您必须使用Table
自己做的大多数事情。删除、添加和移动项目更容易,并且可以自定义项目的显示方式。使用查看器处理点击事件非常容易。
在少数情况下,我会使用Table
而没有TableViewer
。例如:当表格仅用于显示一组永远不会更改的静态项目时。在这种情况下,TableViewer
可能有点过分。
但是,您应该记住,您的项目可能会增长,您可能需要这些“简单”的表来做更多的事情,而不仅仅是显示静态项目。在这种情况下,您必须用一个查看器来替换该表,这将是一个很大的工作量。
因此,在使用没有TableViewer的Table
之前要三思。
当我尝试创建复合表列时出错?
我正在使用swt表,并实现了一个selectionListener: 我点击第一项,听者起作用了! 现在,按下按钮后,我想自动选择表中的下一项。我已经尝试过: 和 选择更改(蓝色),但selectionListener没有反应?! 也许你能帮我解决这个问题。 谢谢你的帮助! 亲切的问候
在一个工具中,我正在做,我有一个表格,我像这样添加: 效果很好,但现在,我想添加一个JFace表查看器,但是上面的文档似乎只关注表布局,而不是表。我以为,桌面视图会被添加到表中吗?
问题内容: 我开发了Eclipse RCP应用程序,并且遇到了问题。我们数据库中有一些布尔格式的数据,用户希望使用来查看该字段。 我试图使用来实现它作为 表编辑器 ,但它的工作速度太慢:( 我尝试使用2张图片-选中和未选中的复选框,都可以,但是我无法将它们居中对齐,它们会自动向左对齐。 我什至找到了如何捕获和事件以及如何通过更改字段手动处理它们,但是我遇到了一个问题- 我现在无法测量或绘制哪个列,
我有一个Table,我使用我自己的自定义LabelProvider来显示背景和前景颜色。 由此我得出,我无法更改选择的背景色。因此,我想能够改变前景色的文字选择后。但是,我不知道如何检测是否选择了特定的行,以便提供不同的前景色。 任何帮助将不胜感激,我不太精通swt。 编辑:对于任何搜索这是我所做的
问题内容: Vaadin 7中的和组件有什么区别? 我应该使用哪个,什么时候使用? 问题答案: Grid是一个功能更强大的新组件,它应该是Table的后继组件(请参阅Table已死,Grid长寿)。因此,应该没有任何必要偏爱表格而不是网格。 这是Vaadin从表格迁移到网格的一系列文章的第一篇:https : //vaadin.com/blog/-/blogs/mission-rip- table