要自定义
JList单元格的外观,您需要编写自己的实现
ListCellRenderer。
的示例实现
class可能如下所示:(草绘,未经测试)
public class MyListCellThing extends JLabel implements ListCellRenderer { public MyListCellThing() { setOpaque(true); } public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { // Assumes the stuff in the list has a pretty toString setText(value.toString()); // based on the index you set the color. This produces the every other effect. if (index % 2 == 0) setBackground(Color.RED); else setBackground(Color.BLUE); return this; }}
要使用此渲染器,请在您
JList的构造函数中添加以下代码:
setCellRenderer(new MyListCellThing());
要基于所选对象并具有焦点来更改单元格的行为,请使用提供的布尔值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)