2016-06-23 5 views
1

最後の列には、セルの値を編集するEditingSupportを持つTableViewerがあります。ビューアのスタイルはFULL_SELECTIONに設定されています。 Iのセルをクリックして、テキスト値が完全に選択された後:私は編集を開始することができますTableViewer編集サポートでセルのキャレット位置を設定してFULL_SELECTIONを削除する方法

"max value" is fully selected

、それは現在の値"max value"をオフにクリアし、新しい価値を開始します。

しかし、編集する特定の位置にマウスを移動したい場合は、1秒ほど遅らせる必要があります。最初のクリック後すぐにクリックして選択しすぎると、セルの選択が解除されます。

これを避ける方法はありますか?セルを完全に選択しないようにすることはできますか?テキストの末尾には常にキャレットがありますか?ありがとう!

答えて

1

TextCellEditorをセルエディタとして使用していることを前提としています。

TextCellEditorを拡張する独自のクラスを作成し、のようなものであることをdoSetFocusクラスをオーバーライドします、テキストの末尾doSetFocusをオーバーライドして、無視するtext.setSelection(text.getText().length());

を設定するために、完全な選択と設定キャレットを削除する

@Override 
protected void doSetFocus() 
{ 
    super.doSetFocus(); 

    if (text != null) { 
    text.setSelection(0, 0); 
    } 
} 
+0

はい私は 'TextCellEditor'を使用します。ちょっとした変更を' text.setSelection (text.getText()。length()); 'キャレットをテキストの最後に設定します。ありがとう! –

0

ダブルクリックイベント、オーバーライドgetDoubleClickTimeoutreturn 0

関連する問題