コンボボックス(org.eclipse.swt.widgets.Combo
)のテキストを強調表示したいと思います。SWT Comboのテキストをハイライト表示する方法は?
たとえば、コンボテキストが「IP:6061」であるとします。 "IP"を強調したいと思います。どうやってやるの?
コンボボックス(org.eclipse.swt.widgets.Combo
)のテキストを強調表示したいと思います。SWT Comboのテキストをハイライト表示する方法は?
たとえば、コンボテキストが「IP:6061」であるとします。 "IP"を強調したいと思います。どうやってやるの?
は、ここで再利用可能なソリューションです。
はこのようにそれを呼び出します。
Combo combo = ...
combo.setText("IP: 1.1.1.1");
String query = "IP";
setSelection(combo, query);
あなたはgetSelection()
とgetText()
の組み合わせを使用する必要があります。しかし、この質問は非常に曖昧です。だから、たぶんgetText()
を使用し、その文字列を必要な文字にフィルターする必要があるだけかもしれません。
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
句を追加することができます。
この質問は最高の状態で非常にあいまいです。あなたはWebアプリケーションを扱っているかどうか?あなたは上記のアプリケーションの外部コードですか? – npinti
どのような種類のコンボボックスについて話していますか? JavaFX? – PendingValue
コンボボックス内のテキストの一部をハイライトしたいですか? –