Graphics basic Agenda Java Coordinate Systems Graphics Class

Graphics basic

Agenda • Java Coordinate Systems. • Graphics Class. • Drawing on Panels. • Drawing Shapes.

Java Coordinate Systems

Java Coordinate System • To paint, you need to know where to paint. • The origin (0, 0) at the upper-left corner of the component. 8 -4

Java Coordinate System • Each GUI Component Has its Own Coordinate System. 8 -5

Graphics Class

The Graphics Class • Is a java class allow you to draw § § § § Strings. Lines. Rectangles. Ovals. Arcs. Polygons. Polylines. 8 -7

The Graphics Class 8 -8

Obtaining Graphics Object • The Graphics class is an abstract class that used for displaying figures and images on the screen on different platforms. • Whenever a component (button, label, panel etc…) is displayed, a Graphics object is created for the component. 8 -9

Obtaining Graphics Object • You can then apply the methods in the Graphics class to draw things on the label’s graphics context. • Think of a GUI component as a piece of paper and the Graphics object as a pencil or paintbrush. • You can apply the methods in the Graphics class to draw things on a GUI component. 8 - 10

paint. Component Method • To draw you will override paint. Component. § protected void paint. Component(Graphics g). • This method, is invoked whenever the component is first displayed or redisplayed. • The Graphics object g is created automatically by the JVM for every visible GUI component. • The JVM obtains the Graphics object and passes it to invoke paint. Component. 8 - 11

Drawing on Panels

Drawing on Panels • Panel can be used to draw graphics and enable user interaction. • To draw in a panel, you create a new class that extends JPanel and override the paint. Component method to tell the panel how to draw things. • Invoking super. paint. Component(g) is necessary to ensure that the viewing area is cleared before a new drawing is displayed. 8 - 13

Drawing Shapes

Drawing Shapes • • • Drawing Strings. Drawing Lines. Drawing Rectangles. Drawing Ovals. Drawing Arcs. Drawing Polygons. 8 - 15

Drawing Strings, Lines draw. String(String s, int x, int y); draw. Line(int x 1, int y 1, int x 2, int y 2); 8 - 16

Test. Draw. Line • This example develops a useful class for displaying line and string. 8 - 17

Drawing Rectangles draw. Rect(int x, int y, int w, int h); fill. Rect(int x, int y, int w, int h); 8 - 18

Test. Draw. Rectangle • This example develops a useful class for displaying rectangle. 8 - 19

Drawing Ovals draw. Oval(int x, int y, int w, int h); fill. Oval(int x, int y, int w, int h); 8 - 20

Drawing Rounded Rectangle • draw. Round. Rect(int x, int y, int w, int h, int aw, int ah); • fill. Round. Rect(int x, int y, int w, int h, int aw, int ah); 8 - 21

Test. Figure. Panel • This example develops a useful class for displaying various figures. 8 - 22

Drawing Arcs • draw. Arc(int x, int y, int w, int h, int angle 1, int angle 2); • fill. Arc(int x, int y, int w, int h, int angle 1, int angle 2); Angles are in degree 8 - 23

Drawing Arcs Example 8 - 24
![Drawing Polygons and Polylines int[] x = {40, 70, 60, 45, 20}; int[] y Drawing Polygons and Polylines int[] x = {40, 70, 60, 45, 20}; int[] y](http://slidetodoc.com/presentation_image_h2/a31f0b3a6ef6da7c8920f153bba1af39/image-25.jpg)
Drawing Polygons and Polylines int[] x = {40, 70, 60, 45, 20}; int[] y = {20, 40, 80, 45, 60}; g. draw. Polygon(x, y, x. length); g. draw. Polyline(x, y, x. length); 8 - 25

Drawing Polygons Using the Polygon Class Polygon polygon = new Polygon(); polygon. add. Point(40, 59); polygon. add. Point(40, 100); polygon. add. Point(10, 100); g. draw. Polygon(polygon); 8 - 26

Drawing Polygons Example 8 - 27

Displaying Image Icons • You learned how to create image icons and display image icons in labels and buttons. For example, the following statements create an image icon and display it in a label: Image. Icon icon = new Image. Icon("image/us. gif"); JLabel jlbl. Image = new JLabel(image. Icon); • An image icon displays a fixed-size image. 8 - 28

Displaying Image Icons • To display an image in a flexible size, you need to use the java. awt. Image class. • An image can be created from an image icon using the get. Image() method as follows: Image image = image. Icon. get. Image(); 8 - 29

Displaying Images • Using a label as an area for displaying images is simple and convenient, but you don't have much control over how the image is displayed. • A more flexible way to display images is to use the draw. Image method of the Graphics class on a panel. Four versions of the draw. Image method are shown here. 8 - 30

Displaying Images Example 8 - 31

Any Question
- Slides: 32