我正在尝试动态更改 JList 行。我需要更改第 n 行颜色,突出显示它(编译期间 n 未知)。我看到了很多使用自定义 ListCellRenderer 的例子,但都是“静态的”。
换句话说,我有 x 行的 JList。在运行时,我的“业务逻辑”检测到第 n 行很重要。所以我想让它的背景变绿,等一下,然后再变白。还有一件事,不要更改行选择。
最好的方法是什么?
最佳答案
很简单,使用以下方法将自定义 ListCellRenderer 设置为您的 JList:
list.setCellRenderer(myListCellrenderer);
现在在覆盖的方法 getListCellRendererComponent() 中执行如下操作:
public Component getListCellRendererComponent(.....) {
Component c = super.getListCellRendererComponent();
c.setBackGround(Color.blue)
return c;
}
上面的示例假设您的自定义渲染器覆盖了 DefaultListCellRenderer
关于java - 在运行时更改 JList 行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664924/