AWT Graphics Class


Advertisements


Introduction

The Graphics class is the abstract super class for all graphics contexts which allow an application to draw onto components that can be realized on various devices, or onto off-screen images as well.

A Graphics object encapsulates all state information required for the basic rendering operations that Java supports. State information includes the following properties.

  • The Component object on which to draw.

  • A translation origin for rendering and clipping coordinates.

  • The current clip.

  • The current color.

  • The current font.

  • The current logical pixel operation function.

  • The current XOR alternation color

Class declaration

Following is the declaration for java.awt.Graphics class:

public abstract class Graphics
   extends Object

Class constructors

S.N.Constructor & Description
1

Graphics() ()

Constructs a new Graphics object.

Class methods

S.N.Method & Description
1

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

Clears the specified rectangle by filling it with the background color of the current drawing surface.

2

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

Intersects the current clip with the specified rectangle.

3

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

Copies an area of the component by a distance specified by dx and dy.

4

abstract Graphics create()

Creates a new Graphics object that is a copy of this Graphics object.

5

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

Creates a new Graphics object based on this Graphics object, but with a new translation and clip area.

6

abstract void dispose()

Disposes of this graphics context and releases any system resources that it is using.

7

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

Draws a 3-D highlighted outline of the specified rectangle.

8

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

Draws the outline of a circular or elliptical arc covering the specified rectangle.

9

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

Draws the text given by the specified byte array, using this graphics context's current font and color.

10

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

Draws the text given by the specified character array, using this graphics context's current font and color.

11

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

Draws as much of the specified image as is currently available.

12

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

Draws as much of the specified image as is currently available.

13

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

Draws as much of the specified image as has already been scaled to fit inside the specified rectangle.

14

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

Draws as much of the specified image as has already been scaled to fit inside the specified rectangle.

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)

Draws as much of the specified area of the specified image as is currently available, scaling it on the fly to fit inside the specified area of the destination drawable surface.

16

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

Draws as much of the specified area of the specified image as is currently available, scaling it on the fly to fit inside the specified area of the destination drawable surface.

17

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

Draws a line, using the current color, between the points (x1, y1) and (x2, y2) in this graphics context's coordinate system.

18

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

Draws the outline of an oval.

19

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

Draws a closed polygon defined by arrays of x and y coordinates.

20

void drawPolygon(Polygon p)

Draws the outline of a polygon defined by the specified Polygon object.

21

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

Draws a sequence of connected lines defined by arrays of x and y coordinates.

22

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

Draws the outline of the specified rectangle.

23

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

Draws an outlined round-cornered rectangle using this graphics context's current color.

24

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

Renders the text of the specified iterator applying its attributes in accordance with the specification of the TextAttribute class.

25

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

Draws the text given by the specified string, using this graphics context's current font and color.

26

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

Paints a 3-D highlighted rectangle filled with the current color.

27

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

Fills a circular or elliptical arc covering the specified rectangle.

28

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

Fills an oval bounded by the specified rectangle with the current color.

29

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

Fills a closed polygon defined by arrays of x and y coordinates.

30

void fillPolygon(Polygon p)

Fills the polygon defined by the specified Polygon object with the graphics context's current color.

31

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

Fills the specified rectangle.

32

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

Fills the specified rounded corner rectangle with the current color.

33

void finalize()

Disposes of this graphics context once it is no longer referenced.

34

abstract Shape getClip()

Gets the current clipping area.

35

abstract Rectangle getClipBounds()

Returns the bounding rectangle of the current clipping area.

36

Rectangle getClipBounds(Rectangle r)

Returns the bounding rectangle of the current clipping area.

37

Rectangle getClipRect()

Deprecated. As of JDK version 1.1, replaced by getClipBounds().

38

abstract Color getColor()

Gets this graphics context's current color.

39

abstract Font getFont()

Gets the current font.

40

FontMetrics getFontMetrics()

Gets the font metrics of the current font.

41

abstract FontMetrics getFontMetrics(Font f)

Gets the font metrics for the specified font.

42

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

Returns true if the specified rectangular area might intersect the current clipping area.

43

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

Sets the current clip to the rectangle specified by the given coordinates.

44

abstract void setClip(Shape clip)

Sets the current clipping area to an arbitrary clip shape.

45

abstract void setColor(Color c)

Sets this graphics context's current color to the specified color.

46

abstract void setFont(Font font)

Sets this graphics context's font to the specified font.

47

abstract void setPaintMode()

Sets the paint mode of this graphics context to overwrite the destination with this graphics context's current color.

48

abstract void setXORMode(Color c1)

Sets the paint mode of this graphics context to alternate between this graphics context's current color and the new specified color.

49

String toString()

Returns a String object representing this Graphics object's value.

50

abstract void translate(int x, int y)

Translates the origin of the graphics context to the point (x, y) in the current coordinate system.

Methods inherited

This class inherits methods from the following classes:

  • java.lang.Object

Graphics Example

Create the following java program using any editor of your choice in say 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);      
   }
}

Compile the program using command prompt. Go to D:/ > AWT and type the following command.

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

If no error comes that means compilation is successful. Run the program using following command.

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

Verify the following output

AWT Graphics
awt_graphics.htm

Advertisements