An open API service indexing awesome lists of open source software.

https://github.com/moonwave99/java2012

Lessons and code from 2012 Java Cource [Scienze e Tecnologie per i Media @ uniroma2.it]
https://github.com/moonwave99/java2012

Last synced: 2 months ago
JSON representation

Lessons and code from 2012 Java Cource [Scienze e Tecnologie per i Media @ uniroma2.it]

Awesome Lists containing this project

README

          

# Programmazione in Java e Gestione della Grafica

Università degli Studi di Tor Vergata, Corso di Laurea in Scienza e Tecnologia per i Nuovi Media - Anno Accademico 2011/2012

Qui trovate il materiale delle lezioni, eventualmente commentato. Per qualsiasi comunicazione fate riferimento a http://www.diegocaponera.com/java.

##Programma completo
Questo è l'elenco degli argomenti visti a lezione, è necessario prendere visione di tutto il materiale proposto durante il corso, reperibile in questo repositorio.

### Introduzione e programmazione strutturata
* Variabili: dichiarazione, assegnazione, inizializzazione;
* Tipi di dati;
* Operatori aritmetici;
* Operatori di confronto, costrutto ```if/elseif/else```;
* Array, matrici, costrutto ```for```, costrutto ```while```, costrutto ```do-while```;
* Algebra booleana e tabelle di verità [AND, OR, NOT];
* Cast tra tipi nativi [no, non si tratta di scegliere indiani per un film];
* Funzioni: parametri in ingresso e in uscita;

### Programmazione ad Oggetti
* Classi e oggetti: definizione, campi d'istanza, modificatori d'accesso, metodi costruttori, getter e setter; metodi ```toString()``` ed ```equals()```; ```this``` keyword;
* Passaggio per riferimento, passaggio per valore;
* Ereditarietà, ```super``` keyword;
* Campi e metodi statici, ```final``` keyword;
* Classi astratte;
* Interfacce: keyword ```implements``` comparata ad ```extends```;
* Classi interne, classi interne locali, classi interne anonime;
* Ascoltatori di eventi: tutti i costrutti per implementarne l'utilizzo.
* Gestione delle eccezioni: costrutto ```try / catch```;

### Gestione della Grafica
* Package ```javax.swing```: ```JFrame```, ```JPanel```;
* Gestione dei Layout: ```BorderLayout```, ```GridLayout```;
* Eventi del mouse: interfacce ```MouseListener```, ```MouseMotionListener```;
* Metodi di disegno: ```Graphics2D```, classi di ```java.awt.geom``` [```Rectangle2D```, ```Ellipse2D```, ```Point2D```...];
* Eventi della tastiera: interfaccia ```KeyListener```;
* Animazioni: utilizzo di ```Thread```, interfaccia ```Runnable```;
* Caricamento immagini: classe ```Image```;
* Filtri su immagini: classi ```BufferedImage```, ```ConvolveOP```, ```Kernel```.