Newsgroup: it.comp.java
Titolo: posizionare bottoni....

Ciao a tutti,
	ci sono vari Layout Manager. Pero` qual e' il metodo di posizionare 
per esempio bottoni in un panel? Pensavo che con il GridLayout si potesse divdere 
il panel in righe e colonne, ma anche specificare a posteriori le coordinate di dove
posizionare il componente (es. un bottone) pero` non sono riuscito a trovare il metodo
che fa questo. C'e` o si fa in un altro modo?
	- Manrico
-- 
Virtual address:                       
 ===========================================================================
 
se...@cli.di.unipi.it
 
m.s...@comune.livorno.it
   2:332/
60...@fidonet.org
 
 ===========================================================================

Manrico Sessa wrote:

Devi usare il GridBagLayout che ti permette si' di avere righe e colonne, ma le puoi anche
ridimensionare.
Guarda questo pezzo di codice:
----
  int size = 10;
  Font font = new Font("Times Roman", Font.PLAIN, size);
  GridBagLayout gridbag = new GridBagLayout();
  setLayout(gridbag);
  GridBagConstraints c = new GridBagConstraints();
// se stiri la finestra, come va stirato l'oggetto?
  c.fill = GridBagConstraints.BOTH;
//quante colonne occupa in altezza?
  c.gridheight = 3;
//e in larghezza?
  c.gridwidth = 1;
//quando stiri la finestra, qual'e' la colonna piu' importante, quella che deve avere piu'
spazio se ce n'e' poco?
  c.weightx = 1.0;
//ascisse        <-----risposta al tuo problema!
  c.gridx = 0;
//ordinate        <-----risposta al tuo problema!
  c.gridy = 0;
//inserisci ora l'oggetto
  outputText = new TextArea(rowsShown, colsShown); //testo in input
  outputText.setEditable(false);
  outputText.setFont(font);
//preparalo per la gridbag
  gridbag.setConstraints(outputText, c);
//e aggiungilo al layout manager
add(outputText);
  // tasto ESCI
  c.gridwidth = 1;
  c.gridx=1;
  c.gridy=0;
  c.weighty = 1.0;
  c.gridheight = 1;
  f2=new Button("Esci");
  gridbag.setConstraints(f2, c);
  add(f2);
     // tasto PASSO
       c.gridwidth =2;
       c.gridx=2;
       c.gridy=0;
       c.weightx = 1.0;
       c.gridheight = 1;
       f1=new Button("Passo");
       gridbag.setConstraints(f1, c);
       add(f1);
  // label CHIAMO
  c.gridx = 1;
  c.gridy=1;
  c.gridwidth = 1;
  Label lab1 = new Label("Chiamo: ");
  lab1.setAlignment(2);
  gridbag.setConstraints(lab1, c);
  add(lab1);
       // menu CHIAMO
       c.gridx=2;
       c.gridy=1;
       c.fill = GridBagConstraints.HORIZONTAL;
       chiamo_men = new Choice();
       chiamo_men=Gen_carta_list();
       gridbag.setConstraints(chiamo_men, c);
       add(chiamo_men);
  //label SEME
  c.gridx = 1;
  c.gridy=2;
  c.gridwidth = 1;
  c.fill = GridBagConstraints.BOTH;
  Label lab2 = new Label("Seme: ");
  lab2.setAlignment(2);
  gridbag.setConstraints(lab2, c);
  add(lab2);
       // menu SEME
        c.gridx=2;
       c.gridy=2;
       c.fill = GridBagConstraints.HORIZONTAL;
       seme_men = new Choice();
       seme_men=Gen_seme_list();
       gridbag.setConstraints(seme_men, c);
       add(seme_men);
  // label GIOCO
  c.gridx = 1;
  c.gridy=3;
  c.gridwidth = 1;
  c.fill = GridBagConstraints.BOTH;
  Label lab3 = new Label("Gioco: ");
  lab3.setAlignment(2);
  gridbag.setConstraints(lab3, c);
  add(lab3);
     // testo GIOCO
      c.gridx=2;
      c.gridy=3;
       c.fill = GridBagConstraints.HORIZONTAL;
       seme_men2= new Choice();
       seme_men2=Gen_seme_list();
       gridbag.setConstraints(seme_men2, c);
       add(seme_men2);
        c.gridx=3;
       c.gridy=3;
       c.fill = GridBagConstraints.HORIZONTAL;
       chiamo_men2 = new Choice();
       chiamo_men2=Gen_carta_list();
       gridbag.setConstraints(chiamo_men2, c);
       add(chiamo_men2);
  // label -------------------
  c.gridx =1;
  c.gridy=4;
  c.gridwidth = 1;
  c.fill = GridBagConstraints.BOTH;
  Label lab4 = new Label("--------------------");
  lab4.setAlignment(2);
  gridbag.setConstraints(lab4, c);
  add(lab4);
  // label --------------------
  c.gridx = 2;
  c.gridy=4;
  c.gridwidth = 1;
  c.fill = GridBagConstraints.BOTH;
  Label lab5 = new Label("----------");
  lab5.setAlignment(2);
  gridbag.setConstraints(lab5, c);
  add(lab5);
  // label --------------------
  c.gridx = 3;
  c.gridy=4;
  c.gridwidth = 1;
  c.fill = GridBagConstraints.BOTH;
  Label lab6 = new Label("----------");
  lab6.setAlignment(2);
  gridbag.setConstraints(lab6, c);
  add(lab6);
  // label --------------------
  c.gridx = 0;
  c.gridy=4;
  c.gridwidth = 1;
  c.fill = GridBagConstraints.BOTH;
  Label lab7 = new Label("Warehouse Creations");
  lab7.setAlignment(1);
  gridbag.setConstraints(lab7, c);
  add(lab7);
  c.gridx=0;
  c.gridy=3;
  c.fill = GridBagConstraints.HORIZONTAL;
  inputField = new TextField();
  inputField.setEditable(true);
  gridbag.setConstraints(inputField, c); // TESTO IN USCITA
  add(inputField);
  inputField.requestFocus();
  outputText.setText("");
  inputField.setText("Hello everybody!");
//OK, siamo alla frutta!
  pack();
//ed ecco a voi la finestra
  show();
 }
NON RISPONDO DEI CONTENUTI DI QUESTO ESEMPIO. ESSO USA OGGETTI DA ME CREATI MA NON PER
QUESTO PROTETTI DA COPYRIGHT. AD OGNUNO E' DATA TOTALE LIBERTA' DI UTILIZZO,
PERSONALIZZAZIONE E DISTRIBUZIONE. RESTO SEMPRE A DISPOSIZIONE PER DOMANDE O CHIARIMENTI.
Alexis Paul Bertolini, Milan University, Italy