Я не знаю, есть ли более простое решение, чем моё, но моё очень гибко настраивается и может служить для многих целей.
List l = new List;
Vector v = new Vector();
for(int i = 0; i < 10; ++i){
v.addElement(new CheckItem("itemtekst"));
}
l.setListCellRenderer(new CheckItemRenderer());
l.setModel(new CheckItemModel(v));
код выше заставляет его работать. Как вы можете догадаться, вам нужно создать новый класс и переопределить два, чтобы он работал.
CHECKITEM: у этого класса есть строка и изображение. а также сеттеры и геттеры. он также имеет логическое значение, показывающее, отмечен он или нет.
CHECKITEMRENDERER: имеет метку для строки и изображение элемента проверки, расширяет контейнер и реализует ListCellRenderer
CHECKITEMMODEL: это расширяет список параметров по умолчанию. у него есть методы, чтобы получить проверенные элементы и установить их проверенными или непроверенными.
Подытожим:
- установить правильные элементы в векторе
- установить правильный рендерер
- установить правильную модель
и для его использования добавьте список действий или все будет бесполезно.