Ciao a tutti, sto cercando di implementare una JList con un CellRenderer custom, il mio problema ora e' capire come si puo' gestire il doubleclick per gli elementi della JList, il codice che per ora ho scritto non va...
Codice PHP:
public class MyCellRenderer extends JLabel implements ListCellRenderer{
public Component getListCellRendererComponent(JList myList, Object value, int index, boolean isSelected, boolean cellHasFocus) {
if (isSelected) {
setBackground(myList.getSelectionBackground());
setForeground(myList.getSelectionForeground());
} else {
setBackground(myList.getBackground());
setForeground(myList.getForeground());
}
//Set the icon and text. If icon was null, say so.
final UserToDisplay tmp = (UserToDisplay)value;
ImageIcon icon = tmp.getAvatar();
String toDisplay = tmp.getName();
setIcon(icon);
if (icon != null) {
setText(toDisplay);
} else {
setText(toDisplay + " (no image available)");
}
addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if (e.getClickCount()==2){
System.out.println("Rilevato \"Double click\", apro finestra chat");
new ChatGui(tmp.getName(),tmp.getPMessage(),tmp.getProtocol(),
tmp.getStatus(),tmp.getEmail(), tmp.getAvatar());
}
}
});
return this;
}
}