|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
[JAVA] come settare correttamente le dimesioni di un frame
Ciao a tutti!
Qua sotto trovate il codice di un interfaccia che ho costruito ed il relativo main; Se fate girare il programma vedete che è l'interfaccia per un generatore di codice fiscale. il problema è che vorrei sapere come posso fare a "fissare" la finestra ad una determinata posizione. Infatti se l'utente restringe la finestra, i campi si sovrappongono, mentre se la finestra viene allargata, si allontanano progressivamente. PS: se potete darmi altri consigli su come migliorare tale interfaccia sono ben graditi! Dopotutto è la prima che ho fatto e non so se il modo di procedere è corretto ;-) import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * CodiceFiscaleGUI.java */ public class CodiceFiscaleGUI extends JFrame{ private JTextField campoCognome; private JTextField campoNome; private JTextField campoComune; private JTextField campoProvincia; private JTextField codice; private JButton genButton; private JComboBox campoGiornoDiNascita; private JComboBox campoMeseDiNascita; private JComboBox campoAnnoDiNascita; private JRadioButton maschio; private JRadioButton femmina; public CodiceFiscaleGUI(){ final int DEFAULT_FRAME_WIDTH = 650; final int DEFAULT_FRAME_HEIGTH = 300; setSize(DEFAULT_FRAME_WIDTH,DEFAULT_FRAME_HEIGTH); addWindowListener(new WindowCloser()); campoCognome = new JTextField(20); campoNome = new JTextField(20); campoGiornoDiNascita = new JComboBox(); campoMeseDiNascita = new JComboBox(); campoAnnoDiNascita = new JComboBox(); maschio = new JRadioButton("M"); femmina = new JRadioButton("F"); campoComune = new JTextField(20); campoProvincia = new JTextField(2); codice = new JTextField(16); codice.setEditable(false); genButton = new JButton("Genera!"); /*metodo ancora da fare per gestire gli eventi*/ //genButton.addActionListener(new ButtonListener()); Container contentPane = getContentPane(); JPanel campCognome = new JPanel(); campCognome.add(new JLabel("Cognome:")); campCognome.add(campoCognome); JPanel campNome = new JPanel(); campNome.add(new JLabel("Nome:")); campNome.add(campoNome); for(int i = 1; i <= 31; i++) campoGiornoDiNascita.addItem(Integer.toString(i)); campoMeseDiNascita.addItem("GENNAIO"); campoMeseDiNascita.addItem("FEBBRAIO"); campoMeseDiNascita.addItem("MARZO"); campoMeseDiNascita.addItem("APRILE"); campoMeseDiNascita.addItem("MAGGIO"); campoMeseDiNascita.addItem("GIUGNO"); campoMeseDiNascita.addItem("LUGLIO"); campoMeseDiNascita.addItem("AGOSTO"); campoMeseDiNascita.addItem("SETTEMBRE"); campoMeseDiNascita.addItem("OTTOBRE"); campoMeseDiNascita.addItem("NOVEMBRE"); campoMeseDiNascita.addItem("DICEMBRE"); for(int i = 2004; i >= 1861; i--) campoAnnoDiNascita.addItem(Integer.toString(i)); JPanel comboPanel = new JPanel(); comboPanel.add(new JLabel("Data di nascita:")); comboPanel.add(campoGiornoDiNascita); comboPanel.add(campoMeseDiNascita); comboPanel.add(campoAnnoDiNascita); ButtonGroup sceltaSesso = new ButtonGroup(); sceltaSesso.add(maschio); sceltaSesso.add(femmina); JPanel sessoPanel = new JPanel(); sessoPanel.add(new JLabel("Sesso:")); sessoPanel.add(maschio); sessoPanel.add(femmina); JPanel comun = new JPanel(); comun.add(new JLabel("Comune")); comun.add(campoComune); JPanel prov = new JPanel(); prov.add(new JLabel("Provincia")); prov.add(campoProvincia); JPanel generator = new JPanel(); generator.add(genButton); generator.add(codice); contentPane.add(generator, "South"); JPanel gen = new JPanel(); gen.setLayout(new GridLayout(3,3)); gen.add(campCognome); gen.add(campNome); gen.add(comboPanel); gen.add(sessoPanel); gen.add(comun); gen.add(prov); contentPane.add(gen,"North"); } private class WindowCloser extends WindowAdapter{ public void windowClosing(WindowEvent event){ System.exit(0); } } } /** * GUImain.java */ public class GUImain { public static void main(String[] args){ CodiceFiscaleGUI gui = new CodiceFiscaleGUI(); gui.setTitle("Codice Fiscale Generator"); gui.show(); } }
__________________
God rides DUCATI! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2003
Città: Brugherio(MI)
Messaggi: 104
|
Ciao,
esa i metodi: gui.setBounds(x, y, larghezza, altezza) gui.setResizable(false) Codice:
public class GUImain {
public static void main(String[] args){
CodiceFiscaleGUI gui = new CodiceFiscaleGUI();
gui.setTitle("Codice Fiscale Generator");
gui.setBounds(10, 10, 300, 150);
gui.setResizable(false);
gui.show();
}
}
__________________
------ |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
grazie di nuovo!
Ciao
__________________
God rides DUCATI! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:39.



















