Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoMichelina Sarti Modificato 10 anni fa
1
Grafica Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – 53100 – SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/
2
Grafica
3
I package java.AWT e javax.swing Il package java.AWT: Grafica 2d (Shape, Rect, Circle, ecc …) Interfacce grafiche (Frame, Button, TextBox) Il package javax.swing: Interfacce grafiche avanzate Interfacce Grafiche: Posizionamento di oggetti Funzionamento ad eventi Implementazione dei gestori di eventi
4
Creazione dellinterfaccia Ogni oggetto è una componente (Component): La classe radice La classe contenitrice (Container) è il Frame (o JFrame in swing) Allinterno del Frame è possibile inserire gli oggetti Component Ogni oggetto Component (e Container) ha delle proprietà e dei metodi: Le proprietà ed i metodi settano laspetto della componente nel Frame
5
Posizionamento delle componenti Il posizionamento avviene tramite degli oggetti appositi: LayoutManager Esistono alcuni tipi di LayoutManager: BorderLayout: 5 possibili posizioni per la componente SUD,NORD,EST,OVEST,CENTRO FlowLayout: il posizionamento avviene mettendo uno dietro laltro le componenti ed organizzandole in file GridLayout: viene creata una griglia con n righe e m colonne specificate nel costruttore e le componenti vengono aggiunte per verticale o orizzontale e seguendo un andamento RightToLeft o LeftToRight a seconda di due proprietà delloggetto contenitore (ComponentOrientation e right-to-left).
6
La classe Panel Dato che in un Container è possibile inserire solo Component e solamente in un numero limitato di orientamenti, è stato necessario creare una classe che fosse al tempo stesso Container e Component: Panel (JPanel in swing) Tramite questa classe è possibile dividere il Frame in più sottoframe (i Panel) e gestire ogni Panel in maniera autonoma: Con ordinamenti differenti Con componenti differenti
7
Gli eventi Come gestire linterazione dellutente con linterfaccia? Ogni operazione che lutente esegue su una component genera un Event E necessario utilizzare un EventListener che raccoglie levento: Ogni volta che lutente vuole eseguire un operazione in risposta ad un evento, è necessario creare un Listener che implementa linterfaccia EventListener e scrivere il codice che desidera sia eseguito.
8
Modifica di altre Components Molte volte è necessario che il gestore dellevento veda le altre Components definite nel Frame: il Listener è implementato come InnerClass del Frame Il Listener viene dotato di un costruttore con parametri e riceve il Frame contenitore come parametro. In tal modo è possibile modificare le altre Component a seguito di un evento
9
Listeners forniti con JDK Il JDK mette a disposizione un gran numero di interfacce Listener: ActionListener, AdjustmentListener, AWTEventListener, ComponentListener, ContainerListener, FocusListener, HierarchyBoundsListener, HierarchyListener, InputMethodListener, ItemListener, KeyListener, MouseListener, MouseMotionListener, MouseWheelListener, TextListener, WindowFocusListener, WindowListener, WindowStateListener ActionListenerAdjustmentListenerAWTEventListener ComponentListenerContainerListenerFocusListener HierarchyBoundsListenerHierarchyListenerInputMethodListener ItemListenerKeyListenerMouseListenerMouseMotionListener MouseWheelListenerTextListenerWindowFocusListener WindowListenerWindowStateListener
10
Listeners Essendo interfacce però richiedono che siano implementati tutti i metodi previsti dallinterfaccia: Questa cosa è noiosa quando in realtà saremmo interessati solamente ad un evento Il Java allora ha messo a disposizione delle classi Adapter che implementano tutti i metodi delle relative interfacce come metodi vuoti: Il programmatore può allora estendere il desiderato Adapter e sovrascrivere (Override) il metodo che desidera
11
Interfacce grafiche con Netbeans Utilizzando un IDE, in realtà tutta la logica degli eventi e listeners rimane nascosta. Il Netbeans per esempio, permette di creare direttamente un progetto di tipo grafico. In tale modalità il rpogrammatore ha a disposizione due viste: Una classica in cui è visualizzato il sorgente java che il programmatore può modificare Una in cui viene visualizzata l'interfaccia grafica che si sta sviluppando. In questa modalià è possibile creare l'interfaccia semplicemente trascinando gli elementi grafici dalla palette grafica visualizzata sulla destra. Una volta posizionati gli oggetti nel frame o panel e specificato l'evento da gestire, il NB genera un funzione vuota che gestisce l'evento e che deve essere implementata dal programmatore.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.