• automatico
  • per usare l'editor automatico crea una nuova classe tipo JFrame Form
    molto più semplice tutto



  • manuale
  • creazione manuale del Form

    da inserire:
    import javax.swing.*;
    import java.awt.*; serve per i settaggi componenti

    sintassi creazione form
    public class Nome_Form extends JFrame
    {

    // variabili globali
    JPanel pannello = new JPanel(); // aggiugi un pannello in cui inserire i vari componenti
    ...

    public static void main(String args[])
    {
    Nome_Form form = new Nome_Form(); // avvia il form Nome_Form
    }


    // costruttore e settaggi del Form Nome_Form
    public Nome_Form()
    {
    super("Titolo Form"); // titolo del Form
    setSize(larghezza , altezza); // dimensioni (ex. 500,200)
    setDefaultCloseOperation(EXIT_ON_CLOSE); // operazione da eseguire dei default (metti sempre questa)
    setVisible(true); // visualizza

    // componenti
    add(pannello); // aggiungi pannello
    ...
    }
    }



    esempio: for con immagine e bottone che genera 6 numeri causali da 1 a 90
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import java.net.*;
    import java.util.*;


    public class Lotto extends JFrame implements ActionListener
    {

    // componenti
    ImageIcon imgoriginale = new ImageIcon(getClass().getResource("/image/Lotto.png"));
    // ImageIcon imgoriginale = new ImageIcon(System.getProperty("user.dir") + "\\Lotto.png");
    ImageIcon immridimensionata = new ImageIcon(imgoriginale.getImage().getScaledInstance(500, 120, java.awt.Image.SCALE_SMOOTH));
    JLabel img = new JLabel(immridimensionata);

    JTextField txt = new JTextField("", 15);
    JButton btn = new JButton("Estrazione numeri");
    JPanel pnl = new JPanel();


    public static void main(String args[])
    {
    Lotto form = new Lotto(); // avvia il form Nome_Form
    }


    // costruttore e settaggi del Form Nome_Form
    public Lotto()
    {
    super("Lotto"); // titolo del Form
    setSize(500 , 200); // dimensioni (ex. 500,200)
    setDefaultCloseOperation(EXIT_ON_CLOSE); // operazione da eseguire dei default (metti sempre questa)
    setVisible(true); // visualizza


    // intercetta eventi bottone
    btn.addActionListener(this);


    // componenti al pannello
    pnl.add(img);
    pnl.add(txt);
    pnl.add(btn);

    // aggiungi pannello
    add(pnl);
    }


    // evento click bottone
    @Override
    public void actionPerformed(ActionEvent event)
    {
    if (event.getSource() == btn)
    {
    //variabili
    int maxnumero = 90;
    int quantinumeri = 7;
    java.util.List listanumeri = new java.util.ArrayList();


    // ciclo inserisci numeri
    txt.setText(""); // cancella testo


    // esegui quantinumeri volte
    for (int x = 0; x < quantinumeri; x++)
    {
    // variabili interne
    int numeriocasauale = (int)(Math.random()*maxnumero) +1;
    int inserito = 0;


    // ciclo che evita i duplicati verifica la lista
    while (inserito == 0)
    {
    // se non nella lista
    if (!listanumeri.contains(numeriocasauale))
    {
    //inserisci il numero nella lista per la verifica dopo
    listanumeri.add(numeriocasauale);


    // setta inserito per uscire dal ciclo while
    inserito = 1;
    }
    else
    {
    // se nella lista ricealo
    numeriocasauale = (int)(Math.random()*maxnumero) +1;
    }
    }
    }


    // metti in ordine
    Collections.sort(listanumeri);


    // scrivi i numeri nella etichetta
    for(int x = 0; x < listanumeri.size(); x++)
    {
    // aggiungi testo
    txt.setText(txt.getText() + " " + Integer.toString(listanumeri.get(x)));
    }
    }
    }
    }