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 = {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