0
我一直在使用這個框架已經有相當長的一段時間了,我想我應該檢查並確保在將它實現到我現在正在使用的大規模Swing應用程序中之前,這是一個好主意。在Java中管理JLists的好方法?
我有兩個接口是在我的系統根目錄:
public interface Colorable {
Color getColor();
}
public interface Listable {
String getListDisplay();
}
然後,每當我創建一個新JList
,我創建了一個新的ListRenderer
:
private class ListRenderer
extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (!(value instanceof Listable)) {
return this;
}
if (value instanceof Colorable) {
Color c = ((Colorable) value).getColor();
if (c != null) {
setForeground(c);
}
}
Listable listable = (Listable) value;
setText(listable.getListDisplay());
return this;
}
}
這是一個好辦法管理JLists
?
看起來像[代碼評論](http://codereview.stackexchange.com/)的問題 –
這是一種方法和常見的問題。另一個可能是創建某種「鏈接」渲染器,您可以將它們鏈接在一起以更輕鬆地更改渲染器的某些屬性,例如 – MadProgrammer