Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-09-2004, 11:46   #1
DesmoColo
Senior Member
 
L'Avatar di DesmoColo
 
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!
DesmoColo è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2004, 12:22   #2
cuoricinoblu
Member
 
L'Avatar di cuoricinoblu
 
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(); 
 } 
}
Buona giornata!
__________________
------
cuoricinoblu è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2004, 13:01   #3
DesmoColo
Senior Member
 
L'Avatar di DesmoColo
 
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
grazie di nuovo!
Ciao
__________________
God rides DUCATI!
DesmoColo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Google lancia Connected Apps Platform pe...
FWA, quanto costa e quali sono le presta...
Sony annuncia la PS5 Prism Collection: n...
Infineon investe 1,1 miliardi di euro in...
Microsoft: ricavi record a 92,3 miliardi...
L'IA fa esplodere gli utili di Samsung: ...
Cronos: Lazarus ha una data di uscita: i...
Google aggiorna la privacy: i dati di Gm...
Ubuntu Core Desktop torna in vita: anche...
Intel Moon Lake: le prime indiscrezioni ...
Motorola Signature 27 e Razr Flex: svela...
Il menu che tutti chiedevano da anni arr...
GitHub fa i conti con il boom dell'IA: a...
Samsung valuta due strade per Galaxy Z F...
Reddit sdoppia la home: arrivano i feed ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v