7

SWT を使用して新しいプロジェクトを作成しています。プロジェクトには 3 つまたは 4 つの異なるテーブルがあります。私は SWT にかなり慣れていないので、 だけを使用するべきか、 を使用するべきかを自問してTableいますTableViewer

Tableいつ のみを使用するか、およびいつ aTableViewerが最適なルートであるかについて、いくつかの優れたガイドラインを学びたいと思っています。

  1. TableViewerの代わりにを使用する利点は何Tableですか?
  2. すべてのテーブルにTableViewer?
  3. テーブルのデータを操作している場合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); 
        }
     });
4

3 に答える 3

4

一般的に、私はを提案しTableViewerます。ビューアは、で自分で行う必要のあるほとんどのことを処理しますTable。アイテムの削除、追加、移動が簡単で、アイテムの表示方法をカスタマイズできます。クリックイベントの処理は、ビューアを使用すると非常に簡単です。

Tableを使わずに使用する場合はほとんどありませんTableViewer。例:テーブルが、変更されない静的なアイテムのセットを表示するためにのみ使用される場合。この場合、aTableViewerは少し上にあるかもしれません。

ただし、プロジェクトが大きくなる可能性があり、静的アイテムを表示する以上のことを行うには、これらの「単純な」テーブルが必要になる可能性があることに注意してください。この場合、テーブルをビューアに置き換える必要があり、これは多くの作業になります。

Tableしたがって、を使用しない前によく考えてTableViewerください。

于 2012-09-15T08:39:55.263 に答える
1

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

ここでは、swt でテーブルを作成する方法を説明しようとしました。swt でテーブルを作成するのは、言うは易く行うは難しだと思います。私たちが直面しなければならない複雑さはたくさんあります。実装は少しわかりにくいです。しかし、swt には多くのカスタマイズが用意されています。また、Swt は Os の上のレイヤーであるため、Swt では Os が提供するものは何でも使用することに注意してください。チェック ボックスを作成してセルの中央に移動するのが難しい場合があります。テーブルの作成中に直面した同様の問題がたくさんありますが、常にハックや回避策があります。Swt では、適切に定義されたクラスがあり、実装すると、テーブルを操作するためのさまざまなメソッドが提供されます。

于 2013-04-19T13:38:50.550 に答える
0

TableViewer多くのカスタマイズを行う場合を除き、常に使用することをお勧めします。

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

始めるのに良い記事

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

于 2012-09-14T21:50:29.870 に答える