Ciao innovatel,
prova questo codice !!!
Naturalmente è solo un piccolo esempio.
codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ElencoImmagini extends JFrame {
ElencoImmagini() {
// costruttore superclasse
super("Elenco Immagini");
// attributi contenitore
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
// array di scritte che corrisponde al nome dell'icona
String[] scritte = new String[5];
for(int i = 0; i < scritte.length; i++) {
scritte[i] = "image_" + (i + 1);
}
// creo nuovo oggetto JList
JList list = new JList(scritte);
// imposto un renderer personalizzato
list.setCellRenderer(new CustomRow());
// aggiungo il componente al contenitore
getContentPane().add(list);
// mostro il tutto
show();
}
// inner class che si occupa di visualizzare icona + testo
// utilizzando il componente JLabel
class CustomRow extends JLabel implements ListCellRenderer {
// metodo (unico!) dell'interfaccia ListCellRenderer
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
// testo dell'etichetta
setText(value.toString());
// icona da visualizzare
setIcon(new ImageIcon(".\\image_" + (index + 1) + ".gif"));
return (this);
}
}
public static void main(String[] args) {
new ElencoImmagini();
}
}