В Java, как мне получить JList
с чередующимися цветами? Любой пример кода?
Как сгенерировать Jlist с чередующимися цветами
Ответ 1
Чтобы настроить внешний вид ячеек JList
, вам нужно написать собственную реализацию ListCellRenderer
.
Пример реализации class
может выглядеть так: (грубый эскиз, не проверенный)
public class MyListCellThing extends JLabel implements ListCellRenderer {
public MyListCellThing() {
setOpaque(true);
}
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
// Assumes the stuff in the list has a pretty toString
setText(value.toString());
// based on the index you set the color. This produces the every other effect.
if (index % 2 == 0) setBackground(Color.RED);
else setBackground(Color.BLUE);
return this;
}
}
Чтобы использовать этот рендерер, в конструкторе JList
введите этот код:
setCellRenderer(new MyListCellThing());
Чтобы изменить поведение ячейки на основе выбранного и сфокусироваться, используйте предоставленные логические значения.