[英]SWT - Table vs. 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中,我們有很好的定義類,如果你實現它提供了各種方法來使用表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.