Skip navigation.
University » Corsi precedenti (it) » IGEA » 2005-06 » 13/02/06

Terza esercitazione


In questa pagina si presenta dapprima il contenuto dell'esercitazione, con un link alla soluzione commentata; in seguito si propone un ulteriore esercizio.

Contenuto dell'esercitazione

Nella terza esercitazione si chiedeva di scrivere un programma Java che eseguisse le seguenti operazioni:

  • creare una finestra (di tipo JFrame)  e impostarne il titolo, invocando il metodo setTitle() della classe JFrame;
  • creare un pannello (di tipo JPanel) e attaccarlo come ContentPane della finestra, invocando il metodo setContentPane() della classe JFrame
  • creare alcuni bottoni (di tipo JButton) e aggiungerli al pannello, invocando il metodo add() della classe JPanel
Osservando che le operazioni relative alla creazione e all'addizionamento di un bottone ad un pannello sono ripetute molte volte, si è deciso di creare un metodo apposito per l'inserimento di nuovi bottoni. A tal fine:
  • è stato definito, nella stessa classe che contiene il metodo main(), un metodo aggiungiBottone(String etichetta), che prende in input una variabile di tipo String che rappresenta l'etichetta del bottone che si vuole creare ed aggiungere al pannello;
  • poiché è necessario invocare il metodo add() del pannello, occorre avere accesso alla variabile (di tipo JPanel) in cui il riferimento al pannello è memorizzato. Si è quindi deciso di definire tale variabile come variabile (statica) di classe (della classe che contiene il metodo main() e del metodo aggiungiPannello()). In precedenza era stata definita come variabile locale del metodo main().

E' possibile scaricare la soluzione dell'esercitazione commentata.

Esercizio proposto

La classe JOptionPane consente di effettuare input/output in modo semplice, attraverso finestre di dialogo.

Il suo metodo statico showInputDialog(JFrame finestra, String messaggio) mostra una finestra di dialogo con un messaggio di richiesta (contenuto nella stringa messaggio), ed un campo in cui l'utente può inserire la sua risposta (una stringa). Il metodo restituisce un oggetto di tipo String, che contiene proprio la risposta fornita dall'utente. Il primo parametro (finestra) contiene il riferimento al JFrame principale dell'applicazione: tale JFrame rimarrà bloccato fino a quando l'utente non immetterà l'input richiesto.

Ad esempio, supponiamo di voler chiedere all'utente come si chiama. Possiamo usare il seguente frammento di codice.

String nome;
nome=JOptionPane.showInputDialog(finestra, "Come ti chiami?");

Si richiede di modificare la classe dell'esercitazione, per aggiungere al pannello un bottone con un'etichetta scelta dall'utente a tempo di esecuzione. Il programma, una volta avviato, deve chiedere: "Quale etichetta desideri per il bottone?" L'utente immette una stringa (per esempio Bottoncino), e il programma aggiunge un bottone con quell'etichetta (nell'esempio, Bottoncino).

Commenti dei visitatori

Accedi per lasciare commenti.