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