用Java管理JLists的好方法?

时间:2014-05-21 22:57:55

标签: java swing jlist

我已经使用这个框架很长一段时间了,我想我应该检查并确保在将它实现到我现在正在处理的大规模Swing应用程序之前这是一个好主意。

我有两个位于我系统根目录的接口:

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的好方法吗?

1 个答案:

答案 0 :(得分:0)

这是处理这种情况的常用方法。