20 package net.sf.gridarta.gui.panel.connectionview;
22 import java.awt.Component;
23 import java.util.Collection;
24 import java.util.TreeSet;
25 import javax.swing.DefaultListCellRenderer;
26 import javax.swing.JList;
28 import org.jetbrains.annotations.NotNull;
36 public abstract class CellRenderer<K>
extends DefaultListCellRenderer {
46 private final StringBuilder
sbForFormat =
new StringBuilder();
51 private final Collection<String>
names =
new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
60 public Component
getListCellRendererComponent(
final JList<?> list,
final Object value,
final int index,
final boolean isSelected,
final boolean cellHasFocus) {
61 super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
66 sbForFormat.setLength(0);
68 sbForFormat.append(
":");
74 for (
final String name : names) {
75 sbForFormat.append(
" ");
76 sbForFormat.append(name);
78 setText(sbForFormat.toString());
89 protected abstract String
formatKey(@NotNull K key);
CellRenderer()
Creates a new instance.
final StringBuilder sbForFormat
The StringBuilder used to format entries.
Stores GameObjects related to key values.
abstract String formatKey(@NotNull K key)
Returns a string representation for a key.
static final long serialVersionUID
Serial Version UID.
Base package of all Gridarta classes.
Component getListCellRendererComponent(final JList<?> list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus)
A DefaultListCellRenderer for rendering Connection objects in a list.
K getKey()
Return the key.
final Collection< String > names
Used for sorting game object names.
abstract String formatValue(@NotNull BaseObject<?, ?, ?, ?> gameObject)
Returns a string representation for a value.