23 package com.realtime.crossfire.jxclient.gui.combobox;
32 import java.awt.Component;
33 import java.util.ArrayList;
34 import java.util.Comparator;
35 import java.util.Iterator;
36 import java.util.List;
37 import javax.swing.JLabel;
38 import javax.swing.JList;
39 import org.jetbrains.annotations.NotNull;
40 import org.jetbrains.annotations.Nullable;
73 public void changed() {
90 super(tooltipManager, elementListener, name,
label, guiFactory);
113 @Nullable
final List<Integer>
model;
114 if (option ==
null) {
117 model =
new ArrayList<>();
118 final List<String> choices =
new ArrayList<>(option.
getChoices().values());
119 for (
int i = 0; i < choices.size(); i++) {
122 model.sort(Comparator.comparing(choices::get));
130 protected Component
getListCellRendererComponent(@NotNull
final JList<? extends Integer> list, @Nullable
final Integer value,
final int index,
final boolean selected,
final boolean cellHasFocus) {
133 if (option ==
null || value ==
null) {
136 final Iterator<String> it = option.
getChoices().values().iterator();
137 for (
int i = 0; i < value; i++) {
142 text = it.hasNext() ? it.next() :
"";