La scrittura di un’applicazione dell’interfaccia utente grafica in Java consente ai programmi di fornire un’esperienza utente visiva e reattiva. Le librerie Swing e AWT forniscono agli sviluppatori una serie di risorse standard per creare elementi visibili e catturare l’interazione dell’utente. Gli sviluppatori hanno molta scelta in termini di layout e presentazione per le applicazioni GUI. Le risorse standard includono componenti per pulsanti, elenchi, campi di testo e pannelli tra molte altre opzioni. In qualità di sviluppatore, puoi combinare queste risorse per creare l’aspetto e la funzionalità di cui il tuo progetto ha bisogno.
1
Crea una classe per la tua GUI. Nel tuo progetto Java, crea una nuova classe per rappresentare la tua interfaccia utente. Il codice di esempio seguente mostra una struttura di classe che implementa ed estende gli elementi del linguaggio Java necessari: la classe pubblica MyGUI estende JFrame implementa ActionListener {// class content here}
Aggiungi le istruzioni di importazione necessarie per la tua GUI, all’inizio del file, prima della dichiarazione di classe che hai inserito: import javax.swing .; import java.awt .; import java.awt.event. *;
Nella classe principale del programma, creare un’istanza della classe GUI nel metodo principale come segue: MyGUI theGUI = new MyGUI ();
Questo codice mostrerà la tua GUI quando esegui il programma.
2
Crea il metodo del costruttore per la tua classe GUI. Il codice di esempio seguente mostra la struttura del metodo del costruttore: public MyGUI () {// constructor code here}
All’interno del metodo del costruttore, aggiungi il seguente codice di esempio per impostare le proprietà di base dell’interfaccia utente: setTitle (“My GUI”); setSize (400, 200); setLocation (300, 250);
È possibile modificare i valori passati a questi metodi per adattarli al proprio progetto. Aggiungi un pannello per contenere gli elementi visibili nella tua GUI come segue: JPanel myPanel = new JPanel (); aggiungi (myPanel, “Center”);
3
Crea gli elementi interattivi di cui hai bisogno per la tua GUI. I programmi Java possono includere molti elementi dell’interfaccia utente. Per ognuno, crea una variabile di istanza nella tua classe GUI e crea un’istanza all’interno del metodo del costruttore. La seguente dichiarazione di variabile di istanza di esempio per un pulsante può apparire prima del metodo del costruttore: private JButton myButton;
All’interno del metodo del costruttore, puoi istanziare questo pulsante come segue: myButton = new JButton (“A Button”);
È possibile utilizzare questo processo per creare istanze di tutti i componenti dell’interfaccia utente necessari.
4
Aggiungi gli elementi dell’interfaccia utente. Il codice di esempio riportato di seguito mostra l’aggiunta del pulsante all’interfaccia e la preparazione del programma per rilevare l’interazione dell’utente con esso: myButton.addActionListener (this); myPanel.add (myButton);
Questo codice indica a Java di ascoltare l’utente che interagisce con il pulsante, quindi lo aggiunge all’area del pannello. Indica a Java di visualizzare la tua interfaccia utente, alla fine del metodo del costruttore, come segue:
setVisible (true);
Dopo aver creato gli elementi visivi e interattivi nella GUI, il metodo del costruttore ora lo mostrerà all’utente.
5
Rispondi all’interazione dell’utente con la tua GUI. Per implementare l’interfaccia “ActionListener”, è necessario fornire un metodo “actionPerformed”. Qui è dove puoi inserire il codice per rispondere agli eventi dell’utente. Aggiungere il seguente metodo di esempio all’interno della dichiarazione della classe, dopo il metodo del costruttore: public void actionPerformed (ActionEvent e) {if (e.getSource () == myButton) System.out.println (“Pressed myButton”); }
Questo è un semplice esempio per dimostrare la tecnica, scrivendo un messaggio quando l’utente interagisce con il tuo pulsante. L’oggetto “ActionEvent” offre la possibilità di determinare quale elemento utente ha attivato l’evento. Puoi aggiungere qualsiasi elaborazione aggiuntiva necessaria per ogni elemento nel tuo progetto.