2016-04-22 6 views
0

コンボボックス(org.eclipse.swt.widgets.Combo)のテキストを強調表示したいと思います。SWT Comboのテキストをハイライト表示する方法は?

たとえば、コンボテキストが「IP:6061」であるとします。 "IP"を強調したいと思います。どうやってやるの?

enter image description here

+0

この質問は最高の状態で非常にあいまいです。あなたはWebアプリケーションを扱っているかどうか?あなたは上記のアプリケーションの外部コードですか? – npinti

+0

どのような種類のコンボボックスについて話していますか? JavaFX? – PendingValue

+0

コンボボックス内のテキストの一部をハイライトしたいですか? –

答えて

2

は、ここで再利用可能なソリューションです。

はこのようにそれを呼び出します。

Combo combo = ... 
combo.setText("IP: 1.1.1.1"); 
String query = "IP"; 

setSelection(combo, query); 
0

あなたはgetSelection()getText()の組み合わせを使用する必要があります。しかし、この質問は非常に曖昧です。だから、たぶんgetText()を使用し、その文字列を必要な文字にフィルターする必要があるだけかもしれません。

2

combo.setText("IP:6061"); 
combo.setSelection(new Point(0, 2)); 

例えばCombo::setSelection()

を使用し、コンボのテキストの一部を選択するには、 ':6061 IP' の 'IP' を選択することになります。

private void setSelection(Combo combo, String query) 
{ 
    String comboText = combo.getText(); 

    int index = comboText.indexOf(query); 

    if(index != -1) 
     combo.setSelection(new Point(index, index + query.length())); 
} 

あなたはそれはあなたがテキストで一致するものがない場合に発生したいものだ場合は選択を解除するelse句を追加することができます。

関連する問題