|
HOME |
FORUM |
INDICE |
ListEsempio.java
|
/*
L'esempio mostra l'utilizzo del controllo List.
Autore: Agosto 2009, Giovanni Iacobelli - http://www.iacosoft.com
*/
import java.awt.*;
import java.awt.event.*;
class ListEsempio extends Frame implements ActionListener, ItemListener
{
java.awt.List cont;
//costruttore
public ListEsempio()
{
//richiama il costruttore della classe base per impostare il titolo della finestra
super("Esempio uso del controllo LIST");
int larg= 400;
int alt= 300;
//aggiunge il gestore all'evento di chiusura della finestra
addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);} });
//imposta la dimensione della finestra
setSize(larg, alt);
//estrae le dimensioni dello screen
GraphicsEnvironment ge= GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice dv= ge.getDefaultScreenDevice();
GraphicsConfiguration cfgScr= dv.getDefaultConfiguration();
Rectangle dim= cfgScr.getBounds();
//imposta la posizione centrata della finestra rispetto allo schermo
setLocation((dim.width - larg)/2, (dim.height - alt)/2);
//rende visibile la finestra
setVisible(true);
//crea il controllo List
cont= new java.awt.List(4, true);
//aggiunge gli elementi
cont.add("Cane");
cont.add("Gatto");
cont.add("Canarino");
cont.add("Gallina");
cont.add("Maiale");
//aggiunge il gestore dell'evento di cambio stato
cont.addItemListener(this);
//posiziona la lista nella zona superiore della finestra
add(cont,BorderLayout.NORTH);
//crea il pulsante
Button cmd= new Button("Seleziona");
//aggiunge il gestore all'evento CLICK
cmd.addActionListener(this);
//posiziona il pulsante nella zona inferiore della finestra
add(cmd, BorderLayout.SOUTH);
//compatta la finestra
pack();
}
//gestore dell'evento di cambio stato degli item della List
public void itemStateChanged(ItemEvent e)
{
//visualizza lo stato dell'elemento appena cliccato
Integer indice= (Integer) e.getItem();
int i= indice.intValue();
boolean sel= cont.isIndexSelected(i);
System.out.println(i + " " + sel);
}
//gestore dell'evento CLICK del pulsante
public void actionPerformed(ActionEvent e)
{
//visualizza gli elementi selezionati con il relativo indice
int[] sel= cont.getSelectedIndexes();
if (sel.length != 0)
{
for(int x= 0; x < sel.length; x++)
{
String elm= cont.getItem(sel[x]);
System.out.println(elm + " (indice " + sel[x] + ")");
}
}
}
//punto d'ingresso dell'applicazione
public static void main(String[] args)
{
new ListEsempio();
}
}
|
|