Java Jlist选择项问题

2025-04-10 10:42:59
推荐回答(1个)
回答1:


package com.akfucc.zhidao;

import java.awt.Color;
import java.awt.Component;

import javax.swing.DefaultListCellRenderer;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.ListModel;

/**
* @description:
* @author akfucc
* @date Nov 9, 2009
*
*/
public class Zhidao extends JFrame {
ListModel model;
JList listTest;

public Zhidao() {
super("JList 测试");

listTest = new JList(new String[] { "Item1", "Item2", "Item3", "Item4",
"Item4" });

// 设置这个东西
listTest.setCellRenderer(new MyRenderer());
this.add(listTest);

// //

this.setSize(200, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

// 重点所在
private static class MyRenderer extends DefaultListCellRenderer {

public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected,
cellHasFocus);
if (index % 2 == 0) {
setBackground(Color.red);
} else {
setBackground(Color.green);
}
return this;
}

}

public static void main(String[] args) {
new Zhidao();
}
}