Esercizi
- Home
- Esercizi del capitolo 19
Esercizi del capitolo 19
Introduzione alle Interfacce grafiche (GUI)
Qui troverete esercizi sul capitolo 19 (altri verranno aggiunti a breve).
Di seguito trovate gli esercizi del capitolo.
Per ogni esercizio, cliccando sulla traccia potete vedere la relativa soluzione.
Gli esercizi caratterizzati dall'icona sono
considerati i più complessi relativamente agli argomenti trattati.
Se preferite lavorare offline, è possibile scaricare tutti gli esercizi e le relative
soluzioni in formato PDF nella sezione download.
-
Esercizio 19.a) GUI, AWT e Layout Manager, Vero o Falso:
1. Nella progettazione di una GUI è preferibile scegliere soluzioni considerate standard per facilitare l'utilizzo all'utente.
2. Nell'MVC il Model rappresenta i dati, il Controller le operazioni e la View l'interfaccia grafica.
3. Le GUI AWT sono invisibili di default.
4. Per ridefinire l'aspetto grafico di un componente AWT è possibile estenderlo e ridefinire il metodopaint
.
5. AWT è basato sul pattern Decorator.
6. In un'applicazione basata su AWT è necessario sempre avere un top level container.
7. È impossibile creare GUI senza layout manager, otterremmo solo eccezioni al runtime.
8. IlFlowLayout
cambierà la posizione dei suoi componenti in base al ridimensionamento.
9. IlBorderLayout
cambierà la posizione dei suoi componenti in base al ridimensionamento.
10. IlGridLayout
cambierà la posizione dei suoi componenti in base al ridimensionamento.
Soluzione
1. Vero.
2. Falso, in particolare il Model rappresenta l'intera applicazione composta da dati e funzionalità.
3. Vero.
4. Vero.
5. Falso, è basata sul pattern Composite che, nonostante abbia alcuni punti di contatto con il Decorator, è completamente diverso.
6. Vero.
7. Falso, ma perderemmo la robustezza e la consistenza della GUI.
8. Vero.
9. Falso.
10. Falso. -
Esercizio 19.b) Gestione degli eventi, Applet e Swing, Vero o Falso:
1. Il modello a delega è basato sul pattern Observer.
2. Senza la registrazione tra la sorgente dell'evento e il gestore dell'evento, l'evento non sarà gestito.
3. Le classi innestate e le classi anonime non sono adatte per implementare gestori di eventi.
4. Una classe innestata può gestire eventi se e solo se è statica.
5. Una classe anonima per essere definita si deve per forza istanziare.
6. UnActionListener
può gestire eventi di tipoMouseListener
.
7. Un pulsante può chiudere una finestra.
8. È possibile (ma non consigliabile) per un gestore di eventi estendere tanti adapter per evitare di scrivere troppo codice.
9. La classeApplet
, estendendoPanel
, potrebbe anche essere aggiunta direttamente ad unFrame
. In tal caso però, i metodi sottoposti a override non verranno chiamati automaticamente.
10. I componenti di Swing (JComponent
) estendono la classeContainer
di AWT.
Soluzione
1. Vero.
2. Vero.
3. Falso.
4. Falso.
5. Vero.
6. Falso, solo di tipoActionListener
.
7. Vero, può sfruttare il metodoSystem.exit(0)
, ma non è pertinente con gli eventi di tipoWindowEvent
.
8. Vero.
9. Vero.
10. Vero.