Java 如何突出显示SWT组合中的文本?

Java 如何突出显示SWT组合中的文本?,java,combobox,swt,Java,Combobox,Swt,我想突出显示组合框中的文本(org.eclipse.swt.widgets.combo) 例如,假设组合文本为“IP:6061”。 我想强调一下“IP”。我该怎么做 您可能必须结合使用getSelection()和getText()。但这个问题很模糊,;因此,您可能只需要使用getText()并将字符串筛选为所需的字符。您可能需要使用getSelection()和getText()的组合。但这个问题很模糊,;因此,您可能只需要使用getText()并将字符串筛选为所需的字符。要选择组合文本的一部

我想突出显示组合框中的文本(
org.eclipse.swt.widgets.combo

例如,假设组合文本为“IP:6061”。 我想强调一下“IP”。我该怎么做


您可能必须结合使用
getSelection()
getText()
。但这个问题很模糊,;因此,您可能只需要使用
getText()
并将字符串筛选为所需的字符。

您可能需要使用
getSelection()
getText()
的组合。但这个问题很模糊,;因此,您可能只需要使用
getText()
并将字符串筛选为所需的字符。

要选择组合文本的一部分,请使用
Combo::setSelection()

比如说

combo.setText(“IP:6061”);
组合选择(新的点(0,2));

将选择“IP:6061”的“IP”。

要选择组合文本的一部分,请使用
Combo::setSelection()

比如说

combo.setText(“IP:6061”);
组合选择(新的点(0,2));

将选择“IP:6061”的“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
子句来删除所选内容

可以这样称呼:

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

setSelection(combo, query);

这是一个可重用的解决方案:

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
子句来删除所选内容

可以这样称呼:

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

setSelection(combo, query);

这个问题充其量也很模糊。您是否正在处理web应用程序?您的代码是否在上述应用程序的外部?我们谈论的是什么类型的组合框?JavaFX?您想突出显示组合框中文本的一部分吗?这个问题充其量是非常模糊的。您是否正在处理web应用程序?您的代码是否在上述应用程序的外部?我们谈论的是什么类型的组合框?JavaFX?要在组合框中突出显示文本的一部分吗?