Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics.

Slides:



Advertisements
Similar presentations
Copyright 2010 by Pearson Education Building Java Programs More Graphics reading: Supplement 3G.
Advertisements

Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics.
2D Graphics Drawing Things. Graphics In your GUI, you might want to draw graphics E.g. draw lines, circles, shapes, draw strings etc The Graphics class.
Laboratory Study II October, Java Programming Assignment  Write a program to calculate and output the distance traveled by a car on a tank of.
PHY-102 SAPIntroductory GraphicsSlide 1 Introductory Graphics In this section we will learn how about how to draw graphics on the screen in Java:  Drawing.
Topic 9 more graphics Based on slides bu Marty Stepp and Stuart Reges from
Building Java Programs Supplement 3G Graphics Copyright (c) Pearson All rights reserved.
Building Java Programs Supplement 3G Graphics Copyright (c) Pearson All rights reserved.
Copyright 2008 by Pearson Education Building Java Programs Graphics Reading: Supplement 3G.
2D Graphics in Java COMP53 Nov 14, Applets and Applications Java applications are stand-alone programs – start execution with main() – runs in JVM.
Week 3 parameters, return, math, graphics Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise.
Week 3 parameters and graphics Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted,
Copyright 2008 by Pearson Education Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2.
Copyright 2008 by Pearson Education Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2.
Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics.
1 Graphical objects We will draw graphics in Java using 3 kinds of objects: DrawingPanel : A window on the screen. Not part of Java; provided by the authors.
Graphics. Graphics Features in Java Topics to be covered Topics to be covered Graphics Basics Graphics Basics Coordinate System Coordinate System Graphics,
Agenda For Feb Finish up Unit 3 Exercises on page Unit 4 Exercises on page 33. Question #2 3. Create a Happy Face Java Applet (due next class).
CSE 219 Computer Science III Images. HW1 Has been posted on Blackboard Making a Game of Life with limited options.
Copyright 2010 by Pearson Education Building Java Programs Graphics reading: Supplement 3G.
Lecture 15: Intro to Graphics Yoni Fridman 7/25/01 7/25/01.
Chapter 7 Graphics. © Daly and Wrigley Objectives Use Graphic Components: ▫ Strings ▫ Lines ▫ Rectangles ▫ Ovals ▫ Arcs Change the color and font of elements.
Graphics & Java 2D Drawing Two Dimensional Shapes Controlling Fonts Controlling Colors.
Unit 3 parameters and graphics Special thanks to Roy McElmurry, John Kurkowski, Scott Shawcroft, Ryan Tucker, Paul Beck for their work. Except where otherwise.
1 Building Java Programs Supplement 3G: Graphics These lecture notes are copyright (C) Marty Stepp and Stuart Reges, They may not be rehosted, sold,
(C) 2010 Pearson Education, Inc. All rights reserved.  Class Graphics (from package java.awt) provides various methods for drawing text and shapes onto.
Building Java Programs Supplement 3G Graphics Copyright (c) Pearson All rights reserved.
Chapter 2: Graphics In Java Basics of classes –instance variables –methods –overriding methods Graphics class (drawing routines) Other classes –Color –Font.
Building Java Programs Graphics Reading: Supplement 3G.
CS305j Introduction to Computing Simple Graphics 1 Topic 11 Simple Graphics "What makes the situation worse is that the highest level CS course I've ever.
Introduction to Graphics. Graphical objects To draw pictures, we will use three classes of objects: –DrawingPanel : A window on the screen. –Graphics.
Copyright 2008 by Pearson Education Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2.
CS 112 Introduction to Programming Java Graphics Yang (Richard) Yang Computer Science Department Yale University 208A Watson, Phone:
Basic Graphics 03/03/16 & 03/07/16 Imagine! Java: Programming Concepts in Context by Frank M. Carrano, (c) Pearson Education - Prentice Hall, 2010.
The 4 Stages of Program Design  Cryptic Programming Stage  Unstructured, Spaghetti-Programming Stage  Structured Programming Stage  Object Oriented.
The 4 Stages of Program Design  Cryptic Programming Stage  Unstructured, Spaghetti-Programming Stage  Structured Programming Stage  Object Oriented.
Intro to Graphics from Chapter 2 of Java Software Solutions
Chapter 8 Graphics.
Adapted from slides by Marty Stepp and Stuart Reges
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
A note on Programming Assignment
Building Java Programs
CSc 110, Spring 2017 Lecture 6: Parameters (cont.) and Graphics
parameters, return, math, graphics
Chapter 10 Graphics.
Basic Graphics Drawing Shapes 1.
4.14 GUI and Graphics Case Study: Creating Simple Drawings (Cont.)
Topic 8 graphics "What makes the situation worse is that the highest level CS course I've ever taken is cs4, and quotes from the graphics group startup.
Building Java Programs
CSc 110, Spring 2018 Lecture 9: Parameters, Graphics and Random
Building Java Programs
CSc 110, Autumn 2017 Lecture 9: Graphics and Nested Loops
CSE 142 Lecture Notes Graphics with DrawingPanel Chapter 3
Building Java Programs
CSc 110, Spring 2018 Lecture 10: More Graphics
Chapter 8 Graphics.
Building Java Programs
Building Java Programs
CSc 110, Autumn 2017 Lecture 8: More Graphics
Building Java Programs
Topic 9 More Graphics Based on slides bu Marty Stepp and Stuart Reges from
Building Java Programs
Building Java Programs
Building Java Programs
Making a Smile Face Pepper.
Graphics Reading: Supplement 3G
Building Java Programs
Presentation transcript:

Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics

Copyright 2006 by Pearson Education 2 Chapter outline drawing 2D graphics DrawingPanel and Graphics objects drawing and filling shapes coordinate system colors drawing with loops drawing with parameterized methods basic animation

Copyright 2006 by Pearson Education 3 Graphical objects We will draw graphics using these classes of objects: DrawingPanel : A window on the screen. This is not part of Java; it is provided by the authors. Graphics : A "pen" that can draw shapes/lines onto a window. Color : The colors that indicate what color to draw our shapes.

Copyright 2006 by Pearson Education 4 DrawingPanel To create a window, construct a DrawingPanel object: DrawingPanel = new DrawingPanel(, ); Example: DrawingPanel panel = new DrawingPanel(300, 200); (Similar to how you created Scanners) (You can't read in info from a drawing panel) The window has nothing on it. But we can draw shapes and lines on it using another object of a class named Graphics.

Copyright 2006 by Pearson Education 5 Graphics Shapes are drawn using an object of class Graphics. You must place an import declaration in your program: import java.awt.*; Access it by calling getGraphics on your DrawingPanel. Example: Graphics g = panel.getGraphics(); Once you have the Graphics object, draw shapes by calling its methods. Example: g.fillRect(10, 30, 60, 35); g.fillOval(80, 40, 50, 70);

Copyright 2006 by Pearson Education 6 Graphics methods Method nameDescription drawLine( x1, y1, x2, y2 ) line between points (x1, y1), (x2, y2) drawOval( x, y, width, height ) draws outline of largest oval that fits in a box of size width * height with top-left corner at (x, y) drawRect( x, y, width, height ) draws outline of rectangle of size width * height with top-left corner at (x, y) drawString( text, x, y ) writes text with bottom-left corner at (x, y) fillOval( x, y, width, height ) fills largest oval that fits in a box of size width * height with top-left corner at (x,y) fillRect( x, y, width, height ) fills rectangle of size width * height with top-left corner at (x, y) setColor( Color ) Sets Graphics to paint subsequent shapes in the given color

Copyright 2006 by Pearson Education 7 Coordinate system Each (x, y) position on the DrawingPanel is represented by a pixel (short for "picture element"). The origin (0, 0) is at the window's top-left corner. x increases rightward and the y increases downward The y is reversed from what you may expect. The rectangle from (0, 0) to (200, 100) looks like this: (0, 0) (200, 100)

Copyright 2006 by Pearson Education 8 A complete program import java.awt.*; public class DrawingExample1 { public static void main(String[] args) { DrawingPanel panel = new DrawingPanel(300, 200); Graphics g = panel.getGraphics(); g.fillRect(10, 30, 60, 35); g.fillOval(80, 40, 50, 70); }

Copyright 2006 by Pearson Education 9 Colors Colors are specified by Color class constants named: BLACK, BLUE, CYAN, DARK_GRAY, GRAY, GREEN, LIGHT_GRAY, MAGENTA, ORANGE, PINK, RED, WHITE, YELLOW Pass these to the Graphics object's setColor method. Example: g.setColor(Color.BLACK); g.fillRect(10, 30, 100, 50); g.setColor(Color.RED); g.fillOval(60, 40, 40, 70); The background color can be set by calling setBackground on the DrawingPanel : Example: panel.setBackground(Color.YELLOW);

Copyright 2006 by Pearson Education 10 Superimposing shapes Drawing one shape on top of another causes the last shape to appear on top of the previous one(s). import java.awt.*; public class DrawCar { public static void main(String[] args) { DrawingPanel panel = new DrawingPanel(200, 100); panel.setBackground(Color.LIGHT_GRAY); Graphics g = panel.getGraphics(); g.setColor(Color.BLACK); g.fillRect(10, 30, 100, 50); g.setColor(Color.RED); g.fillOval(20, 70, 20, 20); g.fillOval(80, 70, 20, 20); g.setColor(Color.CYAN); g.fillRect(80, 40, 30, 20); }

Copyright 2006 by Pearson Education 11 Custom colors It is also legal to construct a Color object of your own. Colors are specified by three numbers ( int s from 0 to 255) representing the amount of red, green, and blue. Computers use red-green-blue or "RGB" as primary colors. Example: DrawingPanel panel = new DrawingPanel(80, 50); Color brown = new Color(192, 128, 64); panel.setBackground(brown); or: DrawingPanel panel = new DrawingPanel(80, 50); panel.setBackground(new Color(192, 128, 64));

Copyright 2006 by Pearson Education 12 Drawing with loops We can draw many repetitions of the same item at different x/y positions with for loops. The x or y expression contains the loop counter, i, so that in each pass of the loop, when i changes, so does x or y. DrawingPanel panel = new DrawingPanel(400, 300); panel.setBackground(Color.YELLOW); Graphics g = panel.getGraphics(); g.setColor(Color.RED); for (int i = 1; i <= 10; i++) { g.fillOval( * i, * i, 50, 50); } g.setColor(Color.BLUE); for (int i = 1; i <= 10; i++) { g.drawString("Hello, world!", * i, * i); }

Copyright 2006 by Pearson Education 13 You try first drawing You try: Create 1 rectangle filled Draw 1 oval outline only Then create 5 rectangles that move down and to the right

Copyright 2006 by Pearson Education 14 First drawing solution import java.awt.*; import java.util.*; public class myRectangles { public static void main() { DrawingPanel myPanel = new DrawingPanel(800, 800); // Graphics myPaintBrush = myPanel.getGraphics(); myPaintBrush.setColor(Color.CYAN); myPaintBrush.fillRect(25,50,20,20); myPaintBrush.drawOval(100,100,20,20); for (int count = 1; count < 6; count++) { myPaintBrush.fillRect(25+count*10,50+count*10,20,20); } }}

Copyright 2006 by Pearson Education 15 Animation with sleep DrawingPanel has a method named sleep that pauses your program for a given number of milliseconds. You can use sleep to produce simple animations. DrawingPanel panel = new DrawingPanel(250, 200); Graphics g = panel.getGraphics(); g.setColor(Color.BLUE); for (int i = 1; i <= NUM_CIRCLES; i++) { g.fillOval(15 * i, 15 * i, 30, 30); panel.sleep(500); } Try adding sleep commands to loops in past exercises in this chapter and watch the panel draw itself piece by piece.

Copyright 2006 by Pearson Education 16 Drawing polygons Polygon objects represent arbitrary shapes. Add points to a Polygon using its addPoint( x, y ) method. Example: DrawingPanel p = new DrawingPanel(100, 100); Graphics g = p.getGraphics(); Polygon poly = new Polygon(); poly.addPoint(10, 90); poly.addPoint(50, 10); poly.addPoint(90, 90); g.setColor(Color.GREEN); g.fillPolygon(poly);

Copyright 2006 by Pearson Education 17 divide a circle divide a square into 4 smaller equal squares.