PDA

Visualizza la versione completa : [Java] GridBagLayout


ZIko
01-11-2003, 15:35
ciao a tutti ho questo codice:


import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;

public class Impostazione2{
static JFrame Ziko=new JFrame("Impostazione 2");
static Container conte=Ziko.getContentPane();
public Component imposta(){
JButton my=new JButton("Premi");
GridBagLayout grid=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();
conte.setLayout(grid);
c.gridx=0;
c.gridy=0;
grid.setConstraints(my, c);
return my;
}
public static void main(String[] args){
Impostazione2 impo=new Impostazione2();
conte.add(impo.imposta());
Ziko.setDefaultCloseOperation(3);
Ziko.pack();
Ziko.setVisible(true);
}
}

questo una volta compilato dovrebbe mettere un tasto in alto a sinistra ed invece lo centra.
Qualcuno sa dirmi dove ho sbagliato???

Zero-2
01-11-2003, 18:32
Il GridBagLayout consiste nel suddividere il JFrame in una griglia e inserire i componenti indicando la posizione (x,y) della cella e il numero di celle lungo x e lungo y.

questo è un metodo molto usato



private void add(Component c, GridBagConstraints gbc,
int x, int y, int w, int h)
{ gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w;
gbc.gridheight = h;
getContentPane().add(c, gbc);
}
....
//Creazione del GridBagLayout e impostazione nel JFrame
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 100;
gbc.weighty = 0;

add(new JLabel("Age:"), gbc, 0, 0, 1, 1);


Se non sono stato chiaro dimmelo che provo a spiegarmi meglio

ZIko
01-11-2003, 19:11
sei stato decisamente chiaro!!!
Grazie però mi rimane quel dubbio borboso sul sorgente che ho messo sopra, mi sembra che ci sai fare con il java!!!
Puoi individuarmi il problema??? Ti prego!!!

Zero-2
01-11-2003, 23:02
Così mi sembra che funzioni.



JButton my=new JButton("Premi");
GridBagLayout grid=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();
conte.setLayout(grid);
c.gridx=0;
c.gridy=0;
//QUesti due parametri indicano il grado di espandibilità
//del componente .
//se 0 il componente non si espande , se 100(max) si espande
//del tutto.
//Associati con l'anchor indico che il componente non si
//deve espandere del tutto ed inoltre deve essere "ancorato"
//all'angolo in alto a sinistra
c.weightx=40;
c.weighty=40;
c.anchor = GridBagConstraints.NORTHWEST;
grid.setConstraints(my, c);
return my;


Cmq se cerchi nelle Api java , trovi qualche spiegazione
:D:D
:ciauz:

ZIko
02-11-2003, 11:41
Grazie :gren: :cry: :cry: :cry:
non so come ringraziarti ;)

Loading