Considerare l'esempio SwingExample visto a lezione. Compilare ed eseguire.
Modificare il programma nel seguente modo:
l'etichetta mostra un mese dell'anno (es. inizialmente "gennaio")
e ogni volta che l'utente azione il bottone passa al mese
seguente in modo ciclico (cioe' dopo dicembre si torna a gennaio).
Suggerimento: fare un array di 12 stringhe e tenere l'indice
del mese corrente in questo array.
Sintassi per fare array di stringhe:
private static String[] mese = { "gennaio", "febbraio", ........ "dicembre" };
Considerare l'esempio
ExJLayout visto a lezione
sui layout manager.
Compilare ed eseguire.
Per eseguire, digitare sulla linea di comando:
Modificare ancora il programma SwingExample
mettendo due bottoni, uno per andare avanti e
uno per andare indietro nell'elenco dei mesi.
Dare alla finestra questa configurazione:
+--------+--------+ |indietro| avanti | +--------+--------+ | .mese corrente. | +-----------------+Suggerimento: usare una gerarchia di contenimento a due livelli. La finestra principale ha un layout griglia 2 righe x 1 colonna. Nella seconda riga c'e' la label. Nella prima riga c'e' un contenitore intermedio (classe JPanel, si crea con "new JPanel()") con layout griglia 1 riga x 2 colonne. Dentro questo contenitore intermedio ci sono i due bottoni. E questo contenitore e' nel pannello di contenuto della finestra,
+---------+ | JFrame | +---------+ | +--------------------------------+ | content panel (GridLayout 2x1) | +--------------------------------+ / \ +-------------------------+ +---------+ | JPanel (GridLayout 1x2) | | JLabel | +-------------------------+ +---------+ / \ +----------+ +----------+ | JButton | | JButton | +----------+ +----------+
Considerare l'esempio ExJLabel visto a lezione, e provare i vari tipi di etichette (stringa, icona, stringa e icona).
Nell'esercizio precedente rendere i due bottoni per andare avanti e indietro con due icone a frecce. Come immagini potete usare quella usata in questa pagina (scarica freccia.gif) e la sua inversa (scarica freccia2.gif), i file con le immagini vanno salvati nella stessa directory dove sono i file java.
Guardate anche gli altri esempi visti nella lezione 8.
Considerare l'esempio Ex3Buttons con i vari tipi di bottoni, visto a lezione. Provare ad aggiungere callback che stampano semplicemente la stringa presente sul bottone.
Suggerimento: si consiglia di procedere per gradi.
GRADO 1
Associare a tutti i bottoni solo un action listener (i bottoni a due stati sarebbero sensibili anche a item event). Associare a tutti lo stesso listener, che esegue le seguenti istruzioni:
GRADO 2
Associare, invece di un action listener, un item listener
ai bottoni che sono sensibili a questo tipo di evento
(JCheckBox e JRadioButton).
Tale listener, oltre a tipo del bottone e stringa presente
sul bottone, deve stampare anche se il bottone passa da
non selezionato a selezionato oppure viceversa.
Vedere dispense
per ItemEvent e ItemListener.