Привет, у меня есть JLIST, и я назначил ему cellRenderer.но я не смог выбрать элемент в списке.На самом деле он выбран, но визуально мы не можем видеть, что он выбран, значит, я не смог увидеть, какой элемент выбран в списке.
Снимок экрана моего списка:
иожидается
Второй снимок экрана без CellRenderer.Но когда я добавил CellRenderer, я не смог увидеть выбранный элемент в списке.
это нормальное поведение, когда вы добавляете CellRenderer в список.
что я делаю неправильно ???
РЕДАКТИРОВАТЬ: -
это мой класс CellRenderer:
public class ContactsRender extends JLabel implements ListCellRenderer {
private static final long serialVersionUID = 1L;
ImageIcon img;
public ContactsRender(){
setOpaque(true);
setIconTextGap(12);
setBackground(Color.WHITE);
setForeground(Color.black);
}
@Override
public Component getListCellRendererComponent(JList list,
Object value, int index, boolean isSelected,
boolean cellHasFocus) {
if(value != null){
User user = (User) value;
String pres = user.getPresence().toLowerCase();
if(pres.contains("unavailable")){
img = new ImageIcon("res/offline.jpg");
} else {
img = new ImageIcon("res/online.jpg");
}
setText(user.getName());
setIcon(img);
return this;
}
return null;
}