I testi della parte teorica NON sono divulgati.
Questo perche' avete gia' un esempio in rete,
e le possibili domande di teoria sono TUTTE sulle dispense.
Essendo la scelta limitata (perche' il materiale delle dispense
e' limitato), se mettessi in rete tutti i testi, a un certo punto non
saprei piu' che domande inventare.
Sono qui dati solo i riferimenti per le soluzioni, ad uso di
chi ha fatto lo scritto.
Per la parte pratica invece viene divulgato anche il testo.
Le soluzioni alla parte teorica si trovano sulle dispense. In particolare:
(Il testo e' in corsivo)
Contesto generale per tutti gli esercizi
Consideriamo un'interfaccia che consiste in una finestra top-level
con:
Stabilire una configurazione da dare all'interfaccia.
Fare un disegno schematico.
Spiegare quale gerarchia di contenimento e quali layout
manager si possono usare per ottenere questa configurazione.
La soluzione di questo esercizio dipende dalla configurazione scelta.
Errori frequenti (peraltro non gravi):
(a) usare contenitori superflui, per esempio un contenitore che
contiene un unico componente
(b) se si organizza la finestra con un layout manager di tipo BorderLayout,
l'area di lavoro sarebbe meglio metterla al centro, in modo tale che
le venga assegnato lo spazio eccedente
quanto l'utente allarga la finestra.
Supponiamo che i valori dello slider siano interi compresi nell'intervallo
da 0 a 100 (estremi inclusi).
Scrivere lo PSEUDO CODICE del corpo delle callback associate allo slider
e al campo di testo in
modo tale che istante per istante il numero mostrato nel campo di testo e il
valore attuale dello slider coincidano
Nota:
assumere che l'utente digiti nel campo di testo solo stringhe che
rappresentano
interi fra 0 e 100.
Soluzione:
Errori frequenti:
(a) compiere operazioni gia' fatte automaticamente da Java
(per esempio muovere il cursore dello slider)
(b) scambiare le due callback!
Scrivere in PSEUDO CODICE il corpo della funzione di ridisegnamento
(in Java paint o paintComponent) associata al pannello in modo tale
che nel pannello appaia un cerchio con le seguenti caratteristiche:
Soluzione:
Errori frequenti:
(a) Il colore rosso NON e' attributo del cerchio, ma va impostato
nel sistema grafico PRIMA di disegnare il cerchio.
(b) Non scrivere come e' calcolato il raggio del cerchio oppure
prendere la differenza tra larghezza e altezza invece che il
minimo.
Affinche' succeda effettivamente che, istante per istante, il cerchio abbia le dimensioni rispondenti alla posizione dello slider (vedi esercizio 3), e' necessario cambiare qualcosa nelle callback scritte per rispondere all'esercizio 2?
Soluzione:
E' necessario aggiungere la chiamata alla funzione di ridisegnamento
del pannello grafico (repaint), in modo tale che il disegno
venga adeguato al nuovo valore immesso dall'utente.