Guida alla programmazione delle GUI, interfacce grafiche in Java 2D - 13: il disegno di base in Java2D: il metodo paintComponent e la classe Graphics
Capitolo 13: Il disegno di base in Java2D: il metodo paintComponent e la classe Graphics.
Le classi che discendono da JComponent mettono a disposizione un metodo che permette di 'disegnarvi sopra'; tale metodo ha firma:
paintComponent(Graphics g) : void .
Se abbiamo, quindi, la necessità di disegnare(forme geometriche, immagini caricate da file, ...), ad esempio, su un JPanel, dovremo riscrivere tale metodo.
paintComponent viene chiamato automaticamente quando si verifica un evento che provoca un ridisegno della finestra (ridimensionamento, riduzione a icona, ...); è possibile, comunque, chiamarlo in maniera esplicita per forzare il ridisegno della componente, cosa che va fatta invocando:
repaint() : void;
e non paintComponent (non va chiamato direttamente, quindi; esso contiene le 'istruzioni' per il disegno).
Nella firma del metodo possiamo notare la presenza di un oggetto particolare: Graphics.
Un Graphics, o contesto grafico, mette a disposizione una serie di metodi atti a scrivere, disegnare e inserire immagini sull'oggetto cui si riferisce.
All'atto della creazione di un JComponent, quindi, viene associato ad esso un Graphics.
Nei prossimi capitoli vedremo proprio i metodi di Graphics per 'disegnare' sulle componenti.
|