【发布时间】:2011-02-19 10:57:45
【问题描述】:
制作了一个自定义 ListCellRenderer:
import java.awt.Component;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
/**
*
* @author Spencer
*/
public class TaskRenderer implements ListCellRenderer {
private Task task;
private JPanel panel = new JPanel();
private JCheckBox checkbox = new JCheckBox();
private JLabel label = new JLabel();
public TaskRenderer() {
panel.add(checkbox);
panel.add(label);
}
public Component getListCellRendererComponent(
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
task = (Task) value;
label.setText(task.getName());
return panel;
}
}
有一个 JList,其中每个单元格都使用上述类呈现,但无法单击面板中每个单元格的复选框。认为这与它没有得到焦点有关。有什么想法吗?
谢谢, 斯宾塞
【问题讨论】:
标签: java focus jcheckbox listcellrenderer