Classe grafica AWT

introduzione

La classe Graphics è la super classe astratta per tutti i contesti grafici che consentono a un'applicazione di disegnare su componenti che possono essere realizzati su vari dispositivi, o anche su immagini fuori schermo.

Un oggetto Graphics incapsula tutte le informazioni sullo stato richieste per le operazioni di rendering di base supportate da Java. Le informazioni sullo stato includono le seguenti proprietà.

  • L'oggetto Component su cui disegnare.

  • Un'origine di traduzione per il rendering e le coordinate di ritaglio.

  • La clip corrente.

  • Il colore corrente.

  • Il carattere corrente.

  • La funzione di operazione del pixel logico corrente.

  • Il colore di alternanza XOR corrente

Dichiarazione di classe

Di seguito è riportata la dichiarazione per java.awt.Graphics classe:

public abstract class Graphics
   extends Object

Costruttori di classi

SN Costruttore e descrizione
1

Graphics() ()

Costruisce un nuovo oggetto Graphics.

Metodi di classe

SN Metodo e descrizione
1

abstract void clearRect(int x, int y, int width, int height)

Cancella il rettangolo specificato riempendolo con il colore di sfondo della superficie di disegno corrente.

2

abstract void clipRect(int x, int y, int width, int height)

Interseca la clip corrente con il rettangolo specificato.

3

abstract void copyArea(int x, int y, int width, int height, int dx, int dy)

Copia un'area del componente di una distanza specificata da dx e dy.

4

abstract Graphics create()

Crea un nuovo oggetto Graphics che è una copia di questo oggetto Graphics.

5

Graphics create(int x, int y, int width, int height)

Crea un nuovo oggetto Graphics basato su questo oggetto Graphics, ma con una nuova area di traslazione e di ritaglio.

6

abstract void dispose()

Elimina questo contesto grafico e rilascia tutte le risorse di sistema che sta utilizzando.

7

void draw3DRect(int x, int y, int width, int height, boolean raised)

Disegna un contorno evidenziato in 3-D del rettangolo specificato.

8

abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)

Disegna il contorno di un arco circolare o ellittico che copre il rettangolo specificato.

9

void drawBytes(byte[] data, int offset, int length, int x, int y)

Disegna il testo dato dall'array di byte specificato, utilizzando il carattere e il colore correnti di questo contesto grafico.

10

void drawChars(char[] data, int offset, int length, int x, int y)

Disegna il testo dato dall'array di caratteri specificato, utilizzando il carattere e il colore correnti di questo contesto grafico.

11

abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)

Disegna la maggior parte dell'immagine specificata quanto è attualmente disponibile.

12

abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)

Disegna la maggior parte dell'immagine specificata quanto è attualmente disponibile.

13

abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)

Disegna la maggior parte dell'immagine specificata quanto è già stata ridimensionata per adattarsi al rettangolo specificato.

14

abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)

Disegna la maggior parte dell'immagine specificata quanto è già stata ridimensionata per adattarsi al rettangolo specificato.

15

abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)

Disegna l'area specificata dell'immagine specificata quanta è attualmente disponibile, ridimensionandola al volo per adattarla all'area specificata della superficie disegnabile di destinazione.

16

abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)

Disegna l'area specificata dell'immagine specificata quanta è attualmente disponibile, ridimensionandola al volo per adattarla all'area specificata della superficie disegnabile di destinazione.

17

abstract void drawLine(int x1, int y1, int x2, int y2)

Disegna una linea, utilizzando il colore corrente, tra i punti (x1, y1) e (x2, y2) nel sistema di coordinate di questo contesto grafico.

18

abstract void drawOval(int x, int y, int width, int height)

Disegna il contorno di un ovale.

19

abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)

Disegna un poligono chiuso definito da matrici di coordinate x e y.

20

void drawPolygon(Polygon p)

Disegna il contorno di un poligono definito dall'oggetto Polygon specificato.

21

abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)

Disegna una sequenza di linee connesse definite da matrici di coordinate x e y.

22

void drawRect(int x, int y, int width, int height)

Disegna il contorno del rettangolo specificato.

23

abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)

Disegna un rettangolo con angoli arrotondati delineato utilizzando il colore corrente di questo contesto grafico.

24

abstract void drawString(AttributedCharacterIterator iterator, int x, int y)

Visualizza il testo dell'iteratore specificato applicandone gli attributi in conformità con la specifica della classe TextAttribute.

25

abstract void drawString(String str, int x, int y)

Disegna il testo dato dalla stringa specificata, utilizzando il carattere e il colore correnti di questo contesto grafico.

26

void fill3DRect(int x, int y, int width, int height, boolean raised)

Disegna un rettangolo evidenziato 3-D riempito con il colore corrente.

27

abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)

Riempie un arco circolare o ellittico che copre il rettangolo specificato.

28

abstract void fillOval(int x, int y, int width, int height)

Riempie un ovale delimitato dal rettangolo specificato con il colore corrente.

29

abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)

Riempie un poligono chiuso definito da matrici di coordinate x e y.

30

void fillPolygon(Polygon p)

Riempie il poligono definito dall'oggetto Polygon specificato con il colore corrente del contesto grafico.

31

abstract void fillRect(int x, int y, int width, int height)

Riempie il rettangolo specificato.

32

abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)

Riempie il rettangolo con l'angolo arrotondato specificato con il colore corrente.

33

void finalize()

Elimina questo contesto grafico una volta che non è più referenziato.

34

abstract Shape getClip()

Ottiene l'area di ritaglio corrente.

35

abstract Rectangle getClipBounds()

Restituisce il rettangolo di delimitazione dell'area di ritaglio corrente.

36

Rectangle getClipBounds(Rectangle r)

Restituisce il rettangolo di delimitazione dell'area di ritaglio corrente.

37

Rectangle getClipRect()

Deprecato. A partire dalla versione 1.1 di JDK, sostituito da getClipBounds ().

38

abstract Color getColor()

Ottiene il colore corrente di questo contesto grafico.

39

abstract Font getFont()

Ottiene il carattere corrente.

40

FontMetrics getFontMetrics()

Ottiene le metriche del carattere del carattere corrente.

41

abstract FontMetrics getFontMetrics(Font f)

Ottiene le metriche del tipo di carattere per il tipo di carattere specificato.

42

boolean hitClip(int x, int y, int width, int height)

Restituisce vero se l'area rettangolare specificata potrebbe intersecare l'area di ritaglio corrente.

43

abstract void setClip(int x, int y, int width, int height)

Imposta la clip corrente sul rettangolo specificato dalle coordinate fornite.

44

abstract void setClip(Shape clip)

Imposta l'area di ritaglio corrente su una forma di clip arbitraria.

45

abstract void setColor(Color c)

Imposta il colore corrente di questo contesto grafico sul colore specificato.

46

abstract void setFont(Font font)

Imposta il carattere di questo contesto grafico sul carattere specificato.

47

abstract void setPaintMode()

Imposta la modalità di disegno di questo contesto grafico per sovrascrivere la destinazione con il colore corrente di questo contesto grafico.

48

abstract void setXORMode(Color c1)

Imposta la modalità di disegno di questo contesto grafico per alternare tra il colore corrente di questo contesto grafico e il nuovo colore specificato.

49

String toString()

Restituisce un oggetto String che rappresenta il valore di questo oggetto Graphics.

50

abstract void translate(int x, int y)

Converte l'origine del contesto grafico nel punto (x, y) nel sistema di coordinate corrente.

Metodi ereditati

Questa classe eredita i metodi dalle classi seguenti:

  • java.lang.Object

Esempio grafico

Crea il seguente programma java usando qualsiasi editor di tua scelta, diciamo D:/ > AWT > com > tutorialspoint > gui >

AWTGraphicsDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      g.setColor(Color.GRAY);
      Font font = new Font("Serif", Font.PLAIN, 24);
      g.setFont(font);
      g.drawString("Welcome to TutorialsPoint", 50, 150);      
   }
}

Compilare il programma utilizzando il prompt dei comandi. Vai aD:/ > AWT e digita il seguente comando.

D:\AWT>javac com\tutorialspoint\gui\AWTGraphicsDemo.java

Se non viene visualizzato alcun errore, significa che la compilazione è riuscita. Esegui il programma utilizzando il seguente comando.

D:\AWT>java com.tutorialspoint.gui.AWTGraphicsDemo

Verificare il seguente output