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?要在组合框中突出显示文本的一部分吗?