|
HOME |
FORUM |
INDICE |
CardLayoutEsempio.java
|
/*
L'esempio mostra il funzionamento del LayoutManager di tipo CardLayout.
Autore: Agosto 2009, Giovanni Iacobelli - http://www.iacosoft.com
*/
import java.awt.*;
import java.awt.event.*;
class CardLayoutEsempio extends Frame
{
Panel p;
public CardLayoutEsempio(String titolo, int x, int y, int larg, int alt)
{
//richiama il costruttore della classe base
super(titolo);
//imposta la posizione LEFT e TOP della finestra
setLocation(x,y);
//imposta le dimensioni della finestra
setSize(larg, alt);
addWindowListener(new MyWindowAdapter(this));
//crea le etichette
Label lbl_1= new Label("Testo UNO", Label.CENTER);
Label lbl_2= new Label("Testo DUE", Label.CENTER);
Label lbl_3= new Label("Testo TRE", Label.CENTER);
Label lbl_4= new Label("Testo QUATTRO", Label.CENTER);
Label lbl_5= new Label("Testo CINQUE", Label.CENTER);
Label lbl_6= new Label("Testo SEI", Label.CENTER);
//imposta lo sfondo delle etichette
lbl_1.setBackground(Color.red);
lbl_2.setBackground(Color.green);
lbl_3.setBackground(Color.yellow);
lbl_4.setBackground(Color.pink);
lbl_5.setBackground(Color.blue);
lbl_6.setBackground(Color.orange);
/*
crea il ManagerLayout di tipo CardLayout da associare al
contenitore di tipo Pannello
*/
CardLayout lay= new CardLayout();
p= new Panel(lay);
//aggiunge le etichette al pannello
p.add("1", lbl_1);
p.add("2", lbl_2);
p.add("3", lbl_3);
p.add("4", lbl_4);
p.add("5", lbl_5);
p.add("6", lbl_6);
//crea il pulsante
Button cmd= new Button();
cmd.setLabel("Avanti"); //imposta l'etichetta del pulsante
//aggiunge il gestore all'evento CLICK
cmd.addActionListener(new GestoreClick(lay));
add(cmd, BorderLayout.NORTH);
add(p, BorderLayout.CENTER);
//rende visibile la finestra
setVisible(true);
}
/* punto di ingresso dell'applicazione */
public static void main(String[] args)
{
CardLayoutEsempio w= new CardLayoutEsempio("Esempio Layout Manager",0,0, 500,300);
}
//gestore dell'evento CLICK del pulsante
public class GestoreClick implements ActionListener
{
private CardLayout lay;
public GestoreClick(CardLayout lay)
{
this.lay= lay;
}
public void actionPerformed(ActionEvent e)
{
//visualizza l'etichetta successiva
lay.next(p);
}
}
//gestore degli eventi della finestra
public class MyWindowAdapter extends WindowAdapter
{
private Frame win;
public MyWindowAdapter(Frame win)
{
this.win= win;
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
}
|
|