DesmoColo
22-09-2004, 11:46
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();
}
}
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();
}
}