2011-07-28 7 views
0

私は最初のEclipse RCPアプリケーションを開発しています.JFace TableViewerコンポーネントでテーブルセル内のテキストを自動縮小する方法を知りたいと思います。私はモデルによって複数行のテキストが含まれているプロパティを渡す場合は今、テキストは異なる高さを持つように、テーブルのすべての行を引き起こす、あるとして表示されます。Eclipse RCP - TableViwerセル内のテキストを自動的に縮小

enter image description here

私が欲しいものですその行(セルに収まるには長すぎる場合)が 'Im very very long lin ...'のようなものに変換され、ウィンドウのサイズが変更されると行が 'Im a非常に長い行の中に住んでいます... '完全な財産がどこにあるか。 '私はテーブルのセルに住んでいる非常に長いラインです。\ r \ nと他のテキストです。'

答えて

2

私は100%あなたが欲しいものを正確に理解していません。

表のセルのテキストから改行を削除する場合は、セルのテキストを設定する前に標準のメソッド(String.replace())を使用して行を削除する必要があります。

すべてのテキストに合わせて列の幅を変更する場合は、TableColumn.pack()をチェックしてください。ダビデが提案されているよう

+0

はい、私は最初のオプションについて話して、私はちょうど私が自動的にそれを行うTableViewerの/ TableViewerの欄に設定することができ、いくつかのフラグがあることを考えました。 – Kris

+0

コンテンツプロバイダが提供するテキストは、セルに表示されます。テキストを再フォーマットするには、再フォーマットする必要があります。 –

0

最後に私が行います

col.setLabelProvider(new ColumnLabelProvider() { 
     @Override 
     public void update(ViewerCell cell) { 
      String desc = ((Product) cell.getElement()).getDescription(); 
      desc = desc.replaceAll("\\r\\n|\\r|\\n", " "); 
      cell.setText(desc); 
     } 
    }); 
関連する問題