首页 > 解决方案 > 如何为 JLabel 中最长的单词着色?

问题描述

我有一个String带有标记的单词(包含一组前缀、一个词干和一组后缀)。我正在尝试为Jlabel.

例如 :

Str = "p + rf + stem + sfx"

我需要用不同的颜色为子字符串“stem”着色。

我的代码:

List<String> myList = new ArrayList<>(Arrays.asList(Str.split("\\+")));
String max = Collections.max(myList, Comparator.comparing(String::length));
String maxColored = "<html><font color=navy>"+max+"</font>";
myList.set(myList.indexOf(max), maxColored);
for (String i:myList){
   Coloredword += i + " + ";
}
Coloredword = Coloredword.replaceAll("\\+$","");
LabelOutput.setText(Coloredword);

输出 :

p + rf + <html><font color=navy> stem </font> + sfx

标签: javastringswingarraylistjlabel

解决方案


推荐阅读