Bonjour a tous, j'ai un problème en java. Je souhaite ajouter un jlist dan smon interface graphique en java, juske la tout va bien. Je peux selectionner les éléments de la liste en cliquant dessus.
Le problème c'est ke j'ai voulu ajouter des images en fonction des items, ca marche mais je ne peux pas selectionner un item de la liste avec la souris, en tout cas quand je cliques sur un item de la liste, il n'apparait pas kom étant sélectionné.
public static void main(String args[])
{
ListeFic l1 = new ListeFic();
System.out.println("\nFin du programme");
}
}
// Display an icon and a string for each object in the list.
class MyCellRenderer extends JLabel implements ListCellRenderer
{
final static ImageIcon longIcon = new ImageIcon("gdbouton.gif");
final static ImageIcon shortIcon = new ImageIcon("ptbouton.gif");
// This is the only method defined by ListCellRenderer.
// We just reconfigure the JLabel each time we're called.
public Component getListCellRendererComponent(
JList list,
Object value, // value to display
int index, // cell index
boolean isSelected, // is the cell selected
boolean cellHasFocus) // the list and the cell have the focus
{
String s = value.toString();
setText(s);
setIcon((s.length() > 10) ? longIcon : shortIcon);
if (isSelected)
{
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}
else
{
setBackground(list.getBackground());
setForeground(list.getForeground());
}
//setEnabled(list.isEnabled());
setFont(list.getFont());
return this;
}
}
class EcouteurListApp extends MouseAdapter
{
ListeFic lf;
public EcouteurListApp(ListeFic plf)
{
lf = plf;
}
public void mouseEntered(MouseEvent e)
{
if (e.getClickCount() == 2)
{
int index = lf.jlist.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2)
{
int index = lf.jlist.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
};