単一のクラスに複数の ListCellRenderer の実装を含めることは可能ですか?
実際、私のアプリケーションには複数の JList があり、それぞれに異なる ListCellRenderer が必要です。
ListCellRenderer の Component メソッドを実装するために別のクラス名を使用できますか。
例: Component メソッドの実装を含む「MultiColumnCellRenderer」という名前のクラスと、Component メソッドの他の実装を含む「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 の両方で異なるレンダリングを探しています。
どうすればこれを達成できますか