PDA

Visualizza la versione completa : [Java] Allineamento con la classe GridLayout


pgm
21-05-2002, 15:04
Ciao a tutti!
Ho un problema di allineamento in un'interfaccia grafica composta da 9 campi di testo e le ripettive etichette. Tutti questi oggetti hanno il proprio JPanel. Usando la classe GridLayout, scritto il codice in questo modo.
Un pò prolisso, ma non ho trovato altro modo. Il problema è che non riesco ad esempi ad allineare tutte le JLabel a destra o a sinistra.


JPanel panel = new JPanel(); //pannello generale di fondo

JPanel nomePaneldx = new JPanel(); //
JPanel cognomePaneldx = new JPanel(); //
JPanel dataPaneldx = new JPanel(); //
JPanel luogoPaneldx = new JPanel(); //pannelli per i
JPanel residenzaPaneldx = new JPanel(); //JTextField
JPanel cittaPaneldx = new JPanel(); //
JPanel telcasaPaneldx = new JPanel(); //
JPanel telcellPaneldx = new JPanel(); //

JPanel nomePanelsx = new JPanel(); //
JPanel cognomePanelsx = new JPanel(); //
JPanel dataPanelsx = new JPanel(); //
JPanel luogoPanelsx = new JPanel(); //pannelli per le JLabel
JPanel residenzaPanelsx = new JPanel(); //
JPanel cittaPanelsx = new JPanel(); //
JPanel telcasaPanelsx = new JPanel(); //
JPanel telcellPanelsx = new JPanel(); //

void setupGUI(){

nomePanelsx.add(new JLabel("Nome :"));
nomePaneldx.add(nomeText);

cognomePanelsx.add(new JLabel("Cognome :"));
cognomePaneldx.add(cognomeText);

dataPanelsx.add(new JLabel("Data di nascita :"));
dataPaneldx.add(dataText);

luogoPanelsx.add(new JLabel("Luogo di nascita "));
luogoPaneldx.add(luogoText);

residenzaPanelsx.add(new JLabel("Residente in :"));
residenzaPaneldx.add(residenzaText);

cittaPanelsx.add(new JLabel("Citta :"));
cittaPaneldx.add(cittaText);

telcasaPanelsx.add(new JLabel("Telefono casa :"));
telcasaPaneldx.add(telcasaText);

telcellPanelsx.add(new JLabel("Telefono Cellulare :"));
telcellPaneldx.add(telcellText);

inviaPanel.add(invia);

JPanel[] tot = {nomePanelsx,nomePaneldx, //
cognomePanelsx,cognomePaneldx, //
dataPanelsx,dataPaneldx, //
luogoPanelsx,luogoPaneldx, //pannello
residenzaPanelsx,residenzaPaneldx, //array
cittaPanelsx,cittaPaneldx, //di tutti
telcasaPanelsx,telcasaPaneldx, //i pannelli
telcellPanelsx,telcellPaneldx,}; //

panel.setLayout(new GridLayout(9,1));

for(int i=0;i<tot.length;++i)
panel.add(tot[i]);

}

grazie per eventuali risposte

pgm

pgm
21-05-2002, 15:36
Ahh! ho scoperto che è possibile allinearle con right, left o center.
Ma questi attributi come li impiego?

Così?
nomePanelsx.add("Left", new JLabel("Nome :"));

pgm :confused: :confused: :nonlodire

pgm
21-05-2002, 15:48
up :rolleyes:

floyd
21-05-2002, 16:15
JLabel label1 = new JLabel("Server", SwingConstants.RIGHT);

floyd
21-05-2002, 16:16
JLabel label1 = new JLabel("Server", SwingConstants.RIGHT);
:sexpulp:

pgm
21-05-2002, 16:35
nomePanelsx.add(new JLabel("Nome :", SwingConstants.RIGHT));

Così non fa niente. Non sia un problema di GridLayout?

pgm

pgm
21-05-2002, 16:52
up :eek:

pgm
21-05-2002, 17:19
Ola!! up :sonno:

floyd
21-05-2002, 17:26
prova a specificare il "non fa niente"

pgm
21-05-2002, 17:31
Vuol dire che non mi allinea il testo delle label.

pgm

Loading