//Import necessarie
import javax.swing.*;
import java.awt.*;
public class Compito {
public Compito(){}
public static void main(String args[]){
//dichiaro e creo la finestra
JFrame f = new JFrame ();
//con il metodo setTitle inserisco il titolo della finestra
f.setTitle("Disposizione Dati");
//con il metodo setSize inserisco la larghezza e l'altezza della finestra
f.setSize(400,400);
//con il metodo setLocation inserisco la distanza dal bordo di destra
//e dal bordo dell'altezza dove poi mi compare la finestra
f.setLocation(400,150);
//mi creo l'oggetto c di classe Container
Container c = f.getContentPane();
// mi creo i pannelli
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
//imposto il colore al pannello p2 sfondo giallo
p2.setBackground(Color.yellow);
//imposto il numero di righe e colonne
p2.setLayout(new GridLayout(5,1));
//imposto al primo pannello il valore null
p1.setLayout(null);
//a questo punto all'oggetto container aggiungiamo i pannelli
c.add(p1);
c.add(p2);
// creo le JLabel, nome,cognome,classe,sezione
JLabel nome = new JLabel(" Nome:");
JLabel cognome = new JLabel(" Cognome:");
JLabel classe = new JLabel(" Classe:");
JLabel sezione = new JLabel(" Sezione:");
//creo le mie JTextField nome2,cognome2,classe2,sezione2
JTextField nome2 = new JTextField (15);
JTextField cognome2 = new JTextField (15);
JTextField classe2 = new JTextField (15);
JTextField sezione2 = new JTextField(15);
//imposto un colore di sfondo a tutte le JTextField
nome2.setBackground(Color.magenta);
cognome2.setBackground(Color.GREEN);
classe2.setBackground(Color.LIGHT_GRAY);
sezione2.setBackground(Color.ORANGE);
//inserisco i vari tipi di scritture diverse alle JTextField e alle JLabel
nome.setFont(new Font("Arial", Font.BOLD, 20));
nome2.setFont (new Font ("Algerian", Font.ITALIC, 20));
cognome.setFont(new Font ("Times new roman", Font.BOLD,20));
cognome2.setFont(new Font ("Comic Sans MS", Font.PLAIN, 20));
classe.setFont(new Font("Serif", Font.PLAIN,20));
classe2.setFont(new Font("SansSerif", Font.BOLD,20));
sezione.setFont(new Font("MonoSpaced", Font.PLAIN,20));
sezione2.setFont(new Font("Verdana", Font.BOLD,20));
//imposto larghezza, altezza
p2.setBounds(250,150,250,150);
//aggiungo al pannello due le JLabel e le JTextField JLabel
// seguendo l'ordine della GridLayout
p2.add(nome);
p2.add(nome2);
p2.add(cognome);
p2.add(cognome2);
p2.add(classe);
p2.add(classe2);
p2.add(sezione);
p2.add(sezione2);
//creo i JButton, cambio i tipi di scrittura e li aggiungo al pannello due
JButton a = new JButton("Avanti");
JButton i = new JButton("Indietro");
a.setFont(new Font("Comic Sans MS", Font.PLAIN, 20));
i.setFont(new Font("Comic Sans MS", Font.PLAIN, 20));
p2.add(a);
p2.add(i);
//impostiamo la chiusura del programma alla chiusura della finestra
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//rendo visibile la finestra
f.setVisible(true);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] s = ge.getAvailableFontFamilyNames();
// in questo modo ci stampa un array di stringhe contenenti tutti i nomi dei font
for(String nomeFont: s)System.out.println(nomeFont);
/*Algerian
Arial
Arial Black
Arial Narrow
Arial Unicode MS
Baskerville Old Face
Bauhaus 93
Bell MT
Berlin Sans FB
Berlin Sans FB Demi
Bernard MT Condensed
Bodoni MT Poster Compressed
Book Antiqua
Bookman Old Style
Bookshelf Symbol 7
Britannic Bold
Broadway
Brush Script MT
Calibri
Californian FB
Cambria
Cambria Math
Candara
Centaur
Century
Century Gothic
Chiller
Colonna MT
Comic Sans MS
Consolas
Constantia
Cooper Black
Corbel
Courier New
Dialog
DialogInput
Estrangelo Edessa
Footlight MT Light
Franklin Gothic Medium
Freestyle Script
Garamond
Gautami
Georgia
Haettenschweiler
Harlow Solid Italic
Harrington
High Tower Text
Impact
Informal Roman
Jokerman
Juice ITC
Kristen ITC
Kunstler Script
Latha
Lucida Bright
Lucida Calligraphy
Lucida Console
Lucida Fax
Lucida Handwriting
Lucida Sans
Lucida Sans Typewriter
Lucida Sans Unicode
Magneto
Mangal
Marlett
Matura MT Script Capitals
Microsoft Sans Serif
Mistral
Modern No. 20
Monospaced
Monotype Corsiva
MS Mincho
MS Outlook
MS Reference Sans Serif
MS Reference Specialty
MT Extra
MV Boli
Niagara Engraved
Niagara Solid
Old English Text MT
Onyx
Palatino Linotype
Parchment
Playbill
Poor Richard
Raavi
Ravie
SansSerif
Segoe UI
Serif
Showcard Gothic
Shruti
Snap ITC
Stencil
Sylfaen
Symbol
Tahoma
Tempus Sans ITC
Times New Roman
Trebuchet MS
Tunga
Verdana
Viner Hand ITC
Vivaldi
Vladimir Script
Webdings
Wide Latin
Wingdings
Wingdings 2
Wingdings 3
*/
}
}
