一个类中是否可以有多个 ListCellRenderer 的实现?
实际上,我的应用程序中有多个 JList,我需要为每个 JList 提供不同的 ListCellRenderer。
我可以有不同的类名来实现 ListCellRenderer 的 Component 方法。
例如:如果我有一个名为“MultiColumnCellRenderer”的类,其中包含一些组件方法的实现,另一个名为“MultiColumnCellRenderer2”的类与其他一些组件方法的实现?
public class MultiColumnCellRenderer extends JPanel implements
ListCellRenderer {
public MultiColumnCellRenderer() {
}
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
// Some implementation of Component Method
super.setEnabled(list.isEnabled());
super.setFont(list.getFont());
return this;
}
}
public class MultiColumnCellRenderer2 extends JPanel implements
ListCellRenderer {
public MultiColumnCellRenderer2() {
}
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
// Some implementation of Component Method
super.setEnabled(list.isEnabled());
super.setFont(list.getFont());
return this;
}
}`
如果我做类似的事情:
list1.setCellRenderer(new MultiColumnCellRenderer());
list2.setCellRenderer(new MultiColumnCellRenderer2());
它不工作....
我正在为 list1 和 list2 寻找不同的渲染。
我怎样才能做到这一点