Ողջույն, ես ունեմ 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;
}