Programmazione in Java e gestione della grafica-
I modulo
Obiettivi formativi
Lo studente dovrà acquisire competenze teoriche e pratiche sulla programmazione dei calcolatori e
sulla tecnica di programmazione ad oggetti. Dovrà essere in grado di scrivere autonomamente semplici programmi in
Java e di comprendere e riutilizzare del codice esistente. Alla fine del secondo modulo dovrà aver acquistato familiarità con le librerie grafiche di Java ed essere in grado di scrivere programmi che utilizzano l'interfaccia grafica.
Programma di massima del corso
(per maggiori dettagli consultare la
sezione "Diario delle Lezioni")
I modulo
-
Introduzione ai computer e alla programmazione.
Nozione di programmazione ad oggetti: classi e
oggetti.
- Introduzione alle
applicazioni Java. Il
linguaggio Java. Tipi di dati, variabili, operatori,
stringhe.
- Controllo del
flusso: istruzioni di selezione e istruzioni di
iterazione.
- Array e Stringhe.
-
Classi e oggetti. Variabili di classe e di
istanza. Metodi di classe e metodi
statici. Costruttori. Overloading di metodi.
-
Packages. Ereditarietà.
Polimorfismo.
II modulo
-
Classi Astratte.
Interfacce.
Ascoltatori ed Eventi (partendo con ActionListener legati ai Timer di javax.swing).
Classi Generiche.
Collezioni (ArrayList, LinkedList, Stack, Queue, ...)
Package e Jar.
-
Contenitori dell'interfaccia grafica (JFrame, JPanel, etc etc)
Componenti dell'interfaccia grafica (JLabel, JButton, JCheckbox, JSlider, ...).
Gestione dei Layout (FlowLayout, GridLayout, BorderLayout, ...).
Menù dell'interfaccia grafica (barra degli strumenti, popup, ...).
Azioni e Ascoltatori legati all'interfaccia grafica (per bottoni, slider, liste, ...).
-
Ascoltatori per mouse e tastiera e Focus.
Personalizzazione del disegno dei componenti dell'interfaccia (override del paintComponent() ).
Disegnare forme geometriche e stringhe.
Gestione delle forme geometriche tramite le classi di Java (Rectangle, Ellipse, ...).
Interazione tra Timer, eventi da mouse e tastiera, forme geometriche ed interfaccia grafica per creare animazioni e/o forme geometriche interattive.
Lettura e scrittura da file.
Finestre per selezionare i files.
Lettura e scrittura di Immagini e manipolazioni basilari dei pixels.