|
HOME |
FORUM |
INDICE |
GridBagLayoutEsempio.java
|
/*
L'esempio mostra l'utilizzo del ManagerLayout di tipo GridBagLayout.
Autore: Agosto 2009, Giovanni Iacobelli - http://www.iacosoft.com
*/
import java.awt.*;
import java.awt.event.*;
class GridBagLayoutEsempio extends Frame
{
public GridBagLayoutEsempio(String titolo, int x, int y, int larg, int alt)
{
//richiama il costruttore della classe base per impostare il titolo della finestra
super(titolo);
//imposta la posizione della finestra
setLocation(x,y);
//imposta la dimensione della finestra
setSize(larg, alt);
//aggiunge il gestore all'evento di chiusura della finestra
addWindowListener(new MyWindowAdapter(this));
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 di ciascuna etichetta
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);
GridBagLayout ml = new GridBagLayout();
GridBagConstraints mlc= new GridBagConstraints();
//imposta il gestore del layout di tipo GridBagLayout
setLayout(ml);
//il gestore interessa sia lo spazio orizzontale che verticale
mlc.fill= GridBagConstraints.BOTH;
//aggiunge la prima etichetta
ml.setConstraints(lbl_1, mlc);
add(lbl_1);
//la seconda etichetta sarą affiancata alla prima e terminerą fine alla fine della griglia
mlc.gridwidth= GridBagConstraints.REMAINDER; //a fine griglia
ml.setConstraints(lbl_2, mlc);
add(lbl_2);
//la terza etichetta verrą stampata nella riga successiva
mlc.gridwidth=1; // ripristino (equivale a cellspan in HTML)
mlc.gridy=1; // vai alla 2a riga
ml.setConstraints(lbl_3, mlc);
add(lbl_3);
//la quarta etichetta verrą stampata a destra della terza
ml.setConstraints(lbl_4, mlc);
add(lbl_4);
//la quinta etichetta verrą stampata a destra della quinta
ml.setConstraints(lbl_5, mlc);
add(lbl_5);
//la sesta etichetta verrą posizionata nella 2 colonna della 2 riga
mlc.gridy=2; //vai alla 3 riga
mlc.gridx=1; //vai alla 2 colonna
ml.setConstraints(lbl_6, mlc);
add(lbl_6);
setVisible(true);
}
//punto d'ingresso dell'applicazione
public static void main(String[] args)
{
GridBagLayoutEsempio w= new GridBagLayoutEsempio("Esempio Layout Manager",0,0, 500,300);
}
//gestore per l'evento di chiusura 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);
}
}
}
|
|