java实现改变列表中字符串的字体颜色
时间: 2023-10-15 22:05:33 浏览: 107
列表框控件改变行字体颜色
5星 · 资源好评率100%
Java中可以使用Swing库中的JList组件来实现一个列表,同时使用DefaultListCellRenderer类来控制每个列表项的显示方式,包括字体、颜色等。下面是一个简单的示例代码:
```java
import javax.swing.*;
import java.awt.*;
public class ColorfulList extends JFrame {
public ColorfulList() {
String[] data = {"Red", "Green", "Blue", "Yellow", "Orange"};
JList<String> list = new JList<>(data);
list.setCellRenderer(new ColorfulCellRenderer());
add(list);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
private static class ColorfulCellRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Component renderer = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value != null) {
switch (value.toString()) {
case "Red":
renderer.setForeground(Color.RED);
break;
case "Green":
renderer.setForeground(Color.GREEN);
break;
case "Blue":
renderer.setForeground(Color.BLUE);
break;
case "Yellow":
renderer.setForeground(Color.YELLOW);
break;
case "Orange":
renderer.setForeground(Color.ORANGE);
break;
}
}
return renderer;
}
}
public static void main(String[] args) {
new ColorfulList();
}
}
```
在这个示例中,我们使用了一个字符串数组来初始化一个JList,并使用setCellRenderer方法指定了一个自定义的DefaultListCellRenderer,即ColorfulCellRenderer。在ColorfulCellRenderer中,我们根据字符串的内容来设置每个列表项的前景色,从而实现改变列表中字符串的字体颜色的效果。
阅读全文