Using Graphics. Building Java Programs Supplement 3G

Size: px
Start display at page:

Download "Using Graphics. Building Java Programs Supplement 3G"

Transcription

1 Using Graphics Building Java Programs Supplement 3G

2 Introduction So far, you have learned how to: output to the console break classes/programs into static methods store and use data with variables write for loops for repetitive tasks pass parameters to a method return values from a method use String and Scanner objects Now you will have a way to output to the user other than using the console.

3 Review Calling static methods from another class: Classname.methodname(actual parameters); double square = Math.pow (x, 2); Calling (non-static) methods on an instance of a class (object): variablename.methodname(actual parameters); Scanner console = new Scanner(System.in); int userinput = console.nextint();

4 Graphical Objects We will need the following three objects for drawing graphics in Java: DrawingPanel: A window on the screen. Not part of Java; provided by the textbook authors. Graphics: A "pen" to draw shapes and lines on a window. Color: Colors in which to draw shapes. Like with String and Scanner, you will not have to write these classes on your own but will simply use them.

5 DrawingPanel Basics DrawingPanel represents a window on the screen, or the canvas on which the graphics will be drawn. Since DrawingPanel is an object type, we must use the constructor to create a new instance: DrawingPanel name = new DrawingPanel(width, height); The constructor takes two parameters which represent the width and height of the drawing area. Example: DrawingPanel panel = new DrawingPanel(500,500);

6 Try it out /** * Program that will be used to show the basics for learning * graphics Your Name */ public class LearningGraphics { /** * Declares the variables, computes the position, and prints the * results. args command line arguments (not used) */ public static void main(string[] args) { DrawingPanel panel = new DrawingPanel(500, 500); From Moodle site, download the following files into the same folder: DrawingPanel.java LearningGraphics.java Compile both and then execute: $ java LearningGraphics

7 Coordinate System Each (x, y) position is a pixel ("picture element"). Position (0, 0) is at the window's top-left corner. x increases rightward and the y increases downward. The rectangle from (0, 0) to (200, 100) looks like this: (0, 0) x+ y+ (200, 100) 7

8 Graphics Basics Graphics represents the pen or paint that we will use to draw lines and shapes on the canvas (DrawingPanel). Graphics is part of the Java Class Library. Since Graphics belongs to a package named java.awt (Abstract Window Toolkit), we will need to include the following import statement in our programs that use Graphics: import java.awt.*; Add this import statement to the top (as the first line) of LearningGraphics.java Since we are using DrawingPanel, we will not have to construct new Graphics objects. Instead, we will use the DrawingPanel's getgraphics() method. We will access the Graphics object as follows: Graphics g = panel.getgraphics();

9 Graphics methods We will discuss some of the Graphics methods here; you can read about all of the Graphics methods in its API. drawline(x1, y1, x2, y2): draws a line between the points (x1, y1) and (x2, y2) drawoval(x, y, width, height): draws the outline of the largest oval that fits within the specified rectangle drawrect(x, y, width, height): draws the outline of the specified rectangle drawstring(message, x, y): draws the given text with its lower-left corner at (x, y) filloval(x, y, width, height): fills the largest oval that fits within the specified rectangle using the current color fillrect(x, y, width, height): fills the specified rectangle using the current color setcolor(color): sets this graphics context's current color to the specified color (all subsequent graphics operations using this graphics context use this specified color) setfont(font): sets this graphics context's current font to the specified font (all subsequent strings drawn using this graphics context use this specified font) 9

10 Try it out Let's modify LearningGraphics.java include two rectangles---one filled in and one outlined. Add the lines below to the main method of your LearningGraphics Class (after the creation of the DrawingPanel object): Graphics g = panel.getgraphics(); g.fillrect(100, 100, 100, 200); g.drawrect(0, 0, 100, 100); 10

11 Color Basics Color represents the color that we will draw lines and shapes on the canvas (DrawingPanel) with. Color is also part of the java.awt package. We will discuss some of the Color constants and methods here. You can read about all of the Color constants and methods in its API. In the same way that we used Math.PI for the value of pi, we can use the Color constants to access the predefined colors.

12 Specifying Color Can use predefined Color class constants: Color.CONSTANT_NAME where CONSTANT_NAME is one of: BLACK, BLUE, CYAN, DARK_GRAY, GRAY, GREEN, LIGHT_GRAY, MAGENTA, ORANGE, PINK, RED, WHITE, YELLOW Or create one using Red-Green-Blue (RGB) values of Color name = new Color(red, green, blue); Example: Color brown = new Color(192, 128, 64); 1

13 Using Color colors Pass a Color to Graphics object's setcolor method Subsequent shapes will be drawn in the new color. g.setcolor(color.black); g.fillrect(10, 30, 100, 50); g.drawline(20, 0, 10, 30); g.setcolor(color.red); g.filloval(60, 40, 40, 70); Pass a color to DrawingPanel's setbackground method The overall window background color will change. Color brown = new Color(192, 128, 64); panel.setbackground(brown); 1

14 Try it out Let's modify LearningGraphics.java Change the background to red and add a blue circle Add the red lines below to the main method of your LearningGraphics class: public static void main(string[] args) { DrawingPanel panel = new DrawingPanel(500, 500); panel.setbackground(color.red); Graphics g = panel.getgraphics(); g.fillrect(100, 100, 100, 200); g.drawrect(0, 0, 100, 100); g.setcolor(color.blue); g.filloval(200, 200, 100, 100); 14

15 Outlining Shapes To draw a colored shape with an outline, first fill it, then draw the same shape in the outline color // inner blue filled circle (from last slide) g.setcolor(color.blue); g.filloval(200, 200, 100, 100); Add the lines below to the end of the main method of your LearningGraphics class: // white outline of circle g.setcolor(color.white); g.drawoval(200, 200, 100, 100); 15

16 The x,y,w,h expressions can use the loop counter variable: panel.setbackground(color.yellow); g.setcolor(color.red); for (int i = 1; i <= 10; i++) { Drawing with Loops // x y w h g.filloval( * i, * i, 50, 50); Nested loops can be used with graphics: g.setcolor(color.blue); for (int x = 1; x <= 4; x++) { for (int y = 1; y <= 9; y++) { g.drawstring("java", x * 40, y * 25); 16

17 Try it Out Add these lines to the end of the main method of your LearningGraphics class: for (int i = 1; i <= 5; i++) { g.setcolor(color.yellow); g.fillrect( * i, * i, 50, 50); g.setcolor(color.blue); g.drawrect( * i, * i, 50, 50); g.setcolor(color.white); for (int x = 1; x <= 4; x++) { for (int y = 1; y <= 9; y++) { g.drawstring("java", x * 40, y * 25); 17

18 Polygons Objects that 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(); g.setcolor(color.green); Polygon poly = new Polygon(); poly.addpoint(10, 90); poly.addpoint(50, 10); poly.addpoint(90, 90); g.fillpolygon(poly); 18

19 Try it Out Let s add a magenta triangle to your LearningGraphics class: g.setcolor(color.magenta); Polygon poly = new Polygon(); poly.addpoint(10, 90); poly.addpoint(50, 10); poly.addpoint(90, 90); g.fillpolygon(poly); Once your Drawing Panel looks like this, Submit your LearningGraphics.java file. 19

20 Superimposing Shapes When 2 shapes occupy the same pixels, the last drawn "wins." import java.awt.*; public class Car { public static void main(string[] args) { DrawingPanel panel = new DrawingPanel(200, 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); 100); 20

21 BJP Book // Draws a Building Java Programs textbook // with DrawingPanel. import java.awt.*; public class Book { public static void main(string[] args) { DrawingPanel panel = new DrawingPanel(200, 150); panel.setbackground(color.white); Graphics g = panel.getgraphics(); g.setcolor(color.cyan); g.fillrect(20, 35, 100, 100); g.setcolor(color.white); g.drawstring("bjp", 70, 55); g.setcolor(new Color(191, 118, for (int i = 0; i < 10; i++) { // cyan background // white "bjp" text 73)); // orange //"bricks" g.fillrect(20, * i, * i, 9); 21

22 Using Methods to Draw Shapes To draw in a method, you must pass Graphics // Draws many BJP textbooks using parameters. import java.awt.*; public class Book2 { public static void main(string[] args) { DrawingPanel panel = new DrawingPanel(450, panel.setbackground(color.white); Graphics g = panel.getgraphics(); // draw three books at different locations g to it. 180); drawbook(g, drawbook(g, drawbook(g, 20, 35); 150, 70); 300, 10);... 22

23 ..., cont'd. // Draws a BJP textbook at the given public static void drawbook(graphics g.setcolor(color.cyan); g.fillrect(x, y, 100, 100); x/y position. g, int x, int y) { // cyan background g.setcolor(color.white); g.drawstring("bjp", x + 50, // y + 20); white "bjp" text g.setcolor(new Color(191, 118, 73)); for (int i = 0; i < 10; i++) { // g.fillrect(x, y + 10 * i, 10 * (i orange "bricks" + 1), 9); 23

24 Generalize for any size // Draws many sized BJP textbooks using parameters. import java.awt.*; public class Book3 { public static void main(string[] args) { DrawingPanel panel = new DrawingPanel(520, 240); panel.setbackground(color.white); Graphics g = panel.getgraphics(); // draw three books at different locations/sizes drawbook(g, drawbook(g, drawbook(g, 20, 35, 100); 150, 70, 60); 300, 10, 200);... 24

25 Resizable solution, cont'd.... // Draws a book of the given size at the given position. public static void drawbook(graphics g, int x, int y, int size) { g.setcolor(color.cyan); // cyan background g.fillrect(x, y, size, size); g.setcolor(color.white); g.drawstring("bjp", x + size/2, // white "bjp" text y + size/5); g.setcolor(new Color(191, 118, 73)); for (int i = 0; i < 10; i++) { g.fillrect(x, y + size/10 * i, size/10 * (i + 1), size/10-1); // orange "bricks" // x // y // width // height 25

26 More DrawingPanel Methods panel.clear(); Erases any shapes that are drawn on the drawing panel. panel.setwidth(width); panel.setheight(height); panel.setsize(width, height); Changes the drawing panel's size to the given value(s). panel.save(filename); Saves the image on the panel to the given file (String). panel.sleep(ms); Pauses the drawing for the given number of milliseconds. 26

27 Animation with sleep DrawingPanel's sleep method pauses your program for a given number of milliseconds. You can use sleep to create simple animations. DrawingPanel panel = new DrawingPanel(250, Graphics g = panel.getgraphics(); 200); g.setcolor(color.blue); for (int i = 1; i <= 10; i++) { g.filloval(15 * i, 15 * i, 30, panel.sleep(500); 30); 27

28 Face.java import java.awt.*; /** * Draws a face YOUR NAME */ public class Face { /** * Declares the variables, computes the * position, and prints the results. args command line arguments (not used) */ public static void main(string[] args) { DrawingPanel panel = new DrawingPanel(220, 150); Graphics g = panel.getgraphics(); g.setcolor(color.black); g.drawoval(10, 30, 100, 100); // face outline g.setcolor(color.blue); g.filloval(30, 60, 20, 20); // eyes g.filloval(70, 60, 20, 20); g.setcolor(color.red); g.drawline(40, 100, 80, 100); // mouth

29 In-class Exercise Face.java Go to the moodle page and work on the Face.java assignment. Modify the Face.java program to draw the graphical output shown below. Do so by writing a parameterized static method that draws a face at a given position public static void drawface(graphics g, int x, int y) The window size should be changed to 320 x 180 pixels The two faces' top-left corners are at (10, 30) and (150, 50). This is Exercise 3G.3 in the textbook. Magic numbers are okay for this program.

30 Lab Exercise Face2.java Go to the moodle page and work on the Face2.java assignment. Modify your Face program from the previous exercise into a new class Face2 to draw the new output shown below. The window size should be changed to 520 x 180 pixels The faces' top-left corners are at (10, 30), (110, 30), (210, 30), (310, 30), and (410, 30). Draw the figures using a loop to avoid redundancy. This is Exercise 3G.4 in the textbook. Magic numbers are okay for this program.

Building Java Programs

Building Java Programs Building Java Programs Graphics Reading: Supplement 3G Objects (briefly) object: An entity that contains data and behavior. data: variables inside the object behavior: methods inside the object You interact

More information

Building Java Programs

Building Java Programs Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2 Objects (briefly) object: An entity that contains data and behavior. data: Variables inside the object. behavior: Methods inside

More information

Garfield AP CS. Graphics

Garfield AP CS. Graphics Garfield AP CS Graphics Assignment 3 Working in pairs Conditions: I set pairs, you have to show me a design before you code You have until tomorrow morning to tell me if you want to work alone Cumulative

More information

Building Java Programs

Building Java Programs Building Java Programs Supplement 3G: Graphics 1 drawing 2D graphics Chapter outline DrawingPanel and Graphics objects drawing and filling shapes coordinate system colors drawing with loops drawing with

More information

Building Java Programs

Building Java Programs Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2 Objects (briefly) object: An entity that contains data and behavior. data: variables inside the object behavior: methods inside

More information

Topic 9 More Graphics. Based on slides bu Marty Stepp and Stuart Reges from

Topic 9 More Graphics. Based on slides bu Marty Stepp and Stuart Reges from Topic 9 More Graphics Based on slides bu Marty Stepp and Stuart Reges from http://www.buildingjavaprograms.com/ Clicker Question What happens if a graphics object is used to draw a shape that exceeds the

More information

Topic 8 graphics. -mgrimes, Graphics problem report 134

Topic 8 graphics. -mgrimes, Graphics problem report 134 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 readme like 'these paths are abstracted as being

More information

Topic 8 Graphics. Margaret Hamilton

Topic 8 Graphics. Margaret Hamilton Topic 8 Graphics When the computer crashed during the execution of your program, there was no hiding. Lights would be flashing, bells would be ringing and everyone would come running to find out whose

More information

Parameters. Repetitive figures. A solution? Parameterization. Declaring parameterized methods. Generalizing methods. Readings: 3.1

Parameters. Repetitive figures. A solution? Parameterization. Declaring parameterized methods. Generalizing methods. Readings: 3.1 Repetitive figures Parameters Consider the task of drawing the following figures: ************* ******* *********************************** Readings: 3.1 ********** * * ********** ***** * * * * ***** The

More information

CSc 110, Autumn 2016 Lecture 7: Graphics. Adapted from slides by Marty Stepp and Stuart Reges

CSc 110, Autumn 2016 Lecture 7: Graphics. Adapted from slides by Marty Stepp and Stuart Reges CSc 110, Autumn 2016 Lecture 7: Graphics Adapted from slides by Marty Stepp and Stuart Reges Graphical objects We will draw graphics in Python using a new kind of object: DrawingPanel: A window on the

More information

Unit 3. parameters and graphics

Unit 3. parameters and graphics Unit 3 parameters and graphics Special thanks to Roy McElmurry, John Kurkowski, Scott Shawcroft, Ryan Tucker, Paul Beck for their work. Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0

More information

Week 3. parameters, return, math, graphics

Week 3. parameters, return, math, graphics 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 noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 3 Lecture 3-2: Return; doubles and casting reading: 3.2, 4.1 videos: Ch. 3 #2 Copyright 2009 by Pearson Education Finish Car example Lecture outline Returns Java Math library

More information

Assignment 2. Application Development

Assignment 2. Application Development Application Development Assignment 2 Content Application Development Day 2 Lecture The lecture covers the key language elements of the Java programming language. You are introduced to numerical data and

More information

CSc 110, Spring 2018 Lecture 9: Parameters, Graphics and Random. Adapted from slides by Marty Stepp and Stuart Reges

CSc 110, Spring 2018 Lecture 9: Parameters, Graphics and Random. Adapted from slides by Marty Stepp and Stuart Reges CSc 110, Spring 2018 Lecture 9: Parameters, Graphics and Random Adapted from slides by Marty Stepp and Stuart Reges Exercise: multiple parameters def main(): print_number(4, 9) print_number(17, 6) print_number(8,

More information

public static void main(string[] args) { GTest mywindow = new GTest(); // Title This program creates the following window and makes it visible:

public static void main(string[] args) { GTest mywindow = new GTest(); // Title This program creates the following window and makes it visible: Basics of Drawing Lines, Shapes, Reading Images To draw some simple graphics, we first need to create a window. The easiest way to do this in the current version of Java is to create a JFrame object which

More information

Admin. CS 112 Introduction to Programming. Counting Down: Code Puzzle. Counting Down: Code Puzzle

Admin. CS 112 Introduction to Programming. Counting Down: Code Puzzle. Counting Down: Code Puzzle Admin CS 112 Introduction to Programming Variable Scoping; Nested Loops; Parameterized Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

TWO-DIMENSIONAL FIGURES

TWO-DIMENSIONAL FIGURES TWO-DIMENSIONAL FIGURES Two-dimensional (D) figures can be rendered by a graphics context. Here are the Graphics methods for drawing draw common figures: java.awt.graphics Methods to Draw Lines, Rectangles

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Variable Scoping; Nested Loops; Parameterized Methods Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

CIS 110 Introduction To Computer Programming. October 5th, 2011 Exam 1. Answer key

CIS 110 Introduction To Computer Programming. October 5th, 2011 Exam 1. Answer key CIS 110 Introduction To Computer Programming October 5th, 2011 Exam 1 Answer key Scores: 1 2 3 4 5 6 Total (100 max) CIS 110 Exam 1 Instructions You have 50 minutes to finish this exam. Time will begin

More information

CIS 110 Introduction To Computer Programming. October 5th, 2011 Exam 1. Answer key for review problems

CIS 110 Introduction To Computer Programming. October 5th, 2011 Exam 1. Answer key for review problems CIS 110 Introduction To Computer Programming October 5th, 2011 Exam 1 Answer key for review problems Scores: 1 2 3 4 5 6 Total (100 max) CIS 110 Exam 1 Instructions You have 50 minutes to finish this exam.

More information

CIS 162 Project 1 Business Card Section 04 (Kurmas)

CIS 162 Project 1 Business Card Section 04 (Kurmas) CIS 162 Project 1 Business Card Section 04 (Kurmas) Due Date at the start of lab on Monday, 17 September (be prepared to demo in lab) Before Starting the Project Read zybook chapter 1 and 3 Know how to

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 3 Lecture 3-1: Parameters reading: 3.1 Redundant recipes Recipe for baking 20 cookies: Mix the following ingredients in a bowl: 4 cups flour 1 cup butter 1 cup sugar 2 eggs

More information

Dr. Hikmat A. M. AbdelJaber

Dr. Hikmat A. M. AbdelJaber Dr. Hikmat A. M. AbdelJaber Portion of the Java class hierarchy that include basic graphics classes and Java 2D API classes and interfaces. java.lang.object Java.awt.Color Java.awt.Component Java.awt.Container

More information

CS Problem Solving and Object-Oriented Programming

CS Problem Solving and Object-Oriented Programming CS 101 - Problem Solving and Object-Oriented Programming Lab 5 - Draw a Penguin Due: October 28/29 Pre-lab Preparation Before coming to lab, you are expected to have: Read Bruce chapters 1-3 Introduction

More information

12/22/11. } Rolling a Six-Sided Die. } Fig 6.7: Rolling a Six-Sided Die 6,000,000 Times

12/22/11. } Rolling a Six-Sided Die. } Fig 6.7: Rolling a Six-Sided Die 6,000,000 Times } Rolling a Six-Sided Die face = 1 + randomnumbers.nextint( 6 ); The argument 6 called the scaling factor represents the number of unique values that nextint should produce (0 5) This is called scaling

More information

Using the API: Introductory Graphics Java Programming 1 Lesson 8

Using the API: Introductory Graphics Java Programming 1 Lesson 8 Using the API: Introductory Graphics Java Programming 1 Lesson 8 Using Java Provided Classes In this lesson we'll focus on using the Graphics class and its capabilities. This will serve two purposes: first

More information

CSC System Development with Java Introduction to Java Applets Budditha Hettige

CSC System Development with Java Introduction to Java Applets Budditha Hettige CSC 308 2.0 System Development with Java Introduction to Java Applets Budditha Hettige Department of Statistics and Computer Science What is an applet? applet: a Java program that can be inserted into

More information

The FacebookPerson Example. Dr. Xiaolin Hu CSC 2310, Spring 2015

The FacebookPerson Example. Dr. Xiaolin Hu CSC 2310, Spring 2015 The FacebookPerson Example Dr. Xiaolin Hu CSC 2310, Spring 2015 Motivation Whenever you are happy, update your facebook! Start from Simple A Facebook Person Class A test class public class FacebookPerson{

More information

CIS 110 Introduction To Computer Programming. October 5th, 2011 Exam 1. Review problems

CIS 110 Introduction To Computer Programming. October 5th, 2011 Exam 1. Review problems CIS 110 Introduction To Computer Programming October 5th, 2011 Exam 1 Review problems Scores: 1 2 3 4 5 6 Total (100 max) CIS 110 Exam 1 Instructions You have 50 minutes to finish this exam. Time will

More information

CISC 1600 Lecture 3.1 Introduction to Processing

CISC 1600 Lecture 3.1 Introduction to Processing CISC 1600 Lecture 3.1 Introduction to Processing Topics: Example sketches Drawing functions in Processing Colors in Processing General Processing syntax Processing is for sketching Designed to allow artists

More information

CS 100: Programming Assignment P1

CS 100: Programming Assignment P1 CS 100: Programming Assignment P1 Due: Thursday, February 4. (Either in lecture or in Carpenter by 4pm.) You may work in pairs. Uphold academic integrity. Follow the course rules for the submission of

More information

Chapter 1 Introduction to Java

Chapter 1 Introduction to Java Chapter 1 Introduction to Java Lesson page 0-1. Introduction to Livetexts Question 1. A livetext is a text that relies not only on the printed word but also on graphics, animation, audio, the computer,

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming User-Defined Data Types: Using static to hide OOP; Encapsulation Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu

More information

Admin. CS 112 Introduction to Programming. Recap: OOP. Math.random() Design. Static Math.random() method vs Random Objects

Admin. CS 112 Introduction to Programming. Recap: OOP. Math.random() Design. Static Math.random() method vs Random Objects Admin CS 112 Introduction to Programming User-Defined Data Types: Using static to hide OOP; Encapsulation Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email:

More information

CSC 1051 Data Structures and Algorithms I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

CSC 1051 Data Structures and Algorithms I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Graphics & Applets CSC 1051 Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Back to Chapter

More information

OBJECT ORIENTED PROGRAMMING. Course 8 Loredana STANCIU Room B613

OBJECT ORIENTED PROGRAMMING. Course 8 Loredana STANCIU Room B613 OBJECT ORIENTED PROGRAMMING Course 8 Loredana STANCIU loredana.stanciu@upt.ro Room B613 Applets A program written in the Java programming language that can be included in an HTML page A special kind of

More information

Introduction to Computer Science I

Introduction to Computer Science I Introduction to Computer Science I Graphics Janyl Jumadinova 7 February, 2018 Graphics Graphics can be simple or complex, but they are just data like a text document or sound. Java is pretty good at graphics,

More information

AP CS Java Syntax Summary: (version 3)

AP CS Java Syntax Summary: (version 3) : (version 3) CLASSES & METHODS Class & main: public class name { public static void main(string[] args) {... Method creation: public static name(type ,, type

More information

Graphics Applets. By Mr. Dave Clausen

Graphics Applets. By Mr. Dave Clausen Graphics Applets By Mr. Dave Clausen Applets A Java application is a stand-alone program with a main method (like the ones we've seen so far) A Java applet is a program that is intended to transported

More information

Appendix F: Java Graphics

Appendix F: Java Graphics Appendix F: Java Graphics CS 121 Department of Computer Science College of Engineering Boise State University August 21, 2017 Appendix F: Java Graphics CS 121 1 / 15 Topics Graphics and Images Coordinate

More information

Java Applet Basics. Life cycle of an applet:

Java Applet Basics. Life cycle of an applet: Java Applet Basics Applet is a Java program that can be embedded into a web page. It runs inside the web browser and works at client side. Applet is embedded in a HTML page using the APPLET or OBJECT tag

More information

Java Programming Lecture 6

Java Programming Lecture 6 Java Programming Lecture 6 Alice E. Fischer Feb 15, 2013 Java Programming - L6... 1/32 Dialog Boxes Class Derivation The First Swing Programs: Snow and Moving The Second Swing Program: Smile Swing Components

More information

Exercise NMCGJ: Animated Graphics

Exercise NMCGJ: Animated Graphics Exercise NMCGJ: Animated Graphics Animation is a rapid display of a sequence of graphics or images which creates an illusion of movement. Animation is an important feature in game programming. In this

More information

9. APPLETS AND APPLICATIONS

9. APPLETS AND APPLICATIONS 9. APPLETS AND APPLICATIONS JAVA PROGRAMMING(2350703) The Applet class What is an Applet? An applet is a Java program that embedded with web content(html) and runs in a Web browser. It runs inside the

More information

Appendix F: Java Graphics

Appendix F: Java Graphics Appendix F: Java Graphics CS 121 Department of Computer Science College of Engineering Boise State University August 21, 2017 Appendix F: Java Graphics CS 121 1 / 1 Topics Graphics and Images Coordinate

More information

Repetition. We might start out with the following program that draws only the left most object.

Repetition. We might start out with the following program that draws only the left most object. page 2 1 Chapter 2 Repetition 2.1 Repetition Methods with parameters Suppose we want to produce the following image. We might start out with the following program that draws only the left most object.

More information

@Override public void start(stage primarystage) throws Exception { Group root = new Group(); Scene scene = new Scene(root);

@Override public void start(stage primarystage) throws Exception { Group root = new Group(); Scene scene = new Scene(root); Intro to Drawing Graphics To draw some simple graphics, we first need to create a window. The easiest way to do this in the current version of Java is to create a JavaFX application. Previous versions

More information

CS 106A, Lecture 11 Graphics

CS 106A, Lecture 11 Graphics CS 106A, Lecture 11 Graphics reading: Art & Science of Java, 9.1-9.3 This document is copyright (C) Stanford Computer Science and Marty Stepp, licensed under Creative Commons Attribution 2.5 License. All

More information

5. Introduction to Procedures

5. Introduction to Procedures 5. Introduction to Procedures Topics: The module SimpleGraphics Creating and Showing figures Drawing Rectangles, Disks, and Stars Optional arguments Application Scripts Procedures We continue our introduction

More information

Lecture 3. parameters, return, math, graphics

Lecture 3. parameters, return, math, graphics Lecture 3 parameters, return, math, graphics Special thanks CS Washington Lecture notes Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0 Parameters

More information

AP CS Java Syntax Summary: (version 4)

AP CS Java Syntax Summary: (version 4) : (version 4) CLASSES & METHODS Class & main: public class name { public static void main(string[] args) {... Method creation: public static name(type ,, type

More information

AWT COLOR CLASS. Introduction. Class declaration. Field

AWT COLOR CLASS. Introduction. Class declaration. Field http://www.tutorialspoint.com/awt/awt_color.htm AWT COLOR CLASS Copyright tutorialspoint.com Introduction The Color class states colors in the default srgb color space or colors in arbitrary color spaces

More information

Programs, Statements, Variables

Programs, Statements, Variables Programs, Statements, Variables Wolfgang Schreiner Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria Wolfgang.Schreiner@risc.jku.at http://www.risc.jku.at Wolfgang

More information

CMPSCI 119 LAB #2 Greebles / Anime Eyes Professor William T. Verts

CMPSCI 119 LAB #2 Greebles / Anime Eyes Professor William T. Verts CMPSCI 119 LAB #2 Greebles / Anime Eyes Professor William T. Verts The goal of this Python programming assignment is to write your own code inside a provided program framework, with some new graphical

More information

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1 2D Graphics Shape Models, Drawing, Selection 1 Graphic Models vs. Images Computer Graphics: the creation, storage, and manipulation of images and their models Model: a mathematical representation of an

More information

AP CS Unit 12: Drawing and Mouse Events

AP CS Unit 12: Drawing and Mouse Events AP CS Unit 12: Drawing and Mouse Events A JPanel object can be used as a container for other objects. It can also be used as an object that we can draw on. The first example demonstrates how to do that.

More information

CS 201 Advanced Object-Oriented Programming Lab 1 - Improving Your Image Due: Feb. 3/4, 11:30 PM

CS 201 Advanced Object-Oriented Programming Lab 1 - Improving Your Image Due: Feb. 3/4, 11:30 PM CS 201 Advanced Object-Oriented Programming Lab 1 - Improving Your Image Due: Feb. 3/4, 11:30 PM Objectives The objectives of this assignment are: to refresh your Java programming to become familiar with

More information

Graphics Applets. By Mr. Dave Clausen

Graphics Applets. By Mr. Dave Clausen Graphics Applets By Mr. Dave Clausen Applets A Java application is a stand-alone program with a main method (like the ones we've seen so far) A Java applet is a program that is intended to transported

More information

2IS45 Programming

2IS45 Programming Course Website Assignment Goals 2IS45 Programming http://www.win.tue.nl/~wsinswan/programmeren_2is45/ Rectangles Learn to use existing Abstract Data Types based on their contract (class Rectangle in Rectangle.

More information

CS2110. GUIS: Listening to Events

CS2110. GUIS: Listening to Events CS2110. GUIS: Listening to Events Also anonymous classes Download the demo zip file from course website and look at the demos of GUI things: sliders, scroll bars, combobox listener, etc 1 mainbox boardbox

More information

CS 312 Midterm 1 Spring 2013

CS 312 Midterm 1 Spring 2013 CS 312 Midterm 1 Spring 2013 Your Name KEY AND CRITERIA Problem Number Topic Points Possible 1 Expressions 11 2 Loop Evaluation 6 3 Method Tracing 10 4 Method Tracing 3 5 Writing Methods 5 6 Tracing Graphics

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Graphics; Animation Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu Admin q Issues on PS3 NumberCoolness:

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Graphics; Animation Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu Admin q Issues on PS3 NumberCoolness:

More information

Chapter 7 Applets. Answers

Chapter 7 Applets. Answers Chapter 7 Applets Answers 1. D The drawoval(x, y, width, height) method of graphics draws an empty oval within a bounding box, and accepts 4 int parameters. The x and y coordinates of the left/top point

More information

An Introduction to Processing

An Introduction to Processing An Introduction to Processing Creating static drawings Produced by: Mairead Meagher Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Topics list Coordinate System in Computing.

More information

Advanced Internet Programming CSY3020

Advanced Internet Programming CSY3020 Advanced Internet Programming CSY3020 Java Applets The three Java Applet examples produce a very rudimentary drawing applet. An Applet is compiled Java which is normally run within a browser. Java applets

More information

Graphics and Java 2D Introduction OBJECTIVES. One picture is worth ten thousand words.

Graphics and Java 2D Introduction OBJECTIVES. One picture is worth ten thousand words. 1 2 12 Graphics and Java 2D One picture is worth ten thousand words. Chinese proverb Treat nature in terms of the cylinder, the sphere, the cone, all in perspective. Paul Cézanne Colors, like features,

More information

CMPSCI 119 LAB #2 Anime Eyes Professor William T. Verts

CMPSCI 119 LAB #2 Anime Eyes Professor William T. Verts CMPSCI 119 LAB #2 Anime Eyes Professor William T. Verts The goal of this Python programming assignment is to write your own code inside a provided program framework, with some new graphical and mathematical

More information

CS 312 Midterm 1 Spring 2013

CS 312 Midterm 1 Spring 2013 CS 312 Midterm 1 Spring 2013 Your Name Your UTEID Circle your TAs Name: VICKY LUIS Problem Number Topic Points Possible 1 Expressions 11 2 Loop Evaluation 6 3 Method Tracing 10 4 Method Tracing 3 5 Writing

More information

parameters, return, math, graphics nobody expects the spanish inquisition!

parameters, return, math, graphics nobody expects the spanish inquisition! parameters, return, math, graphics nobody expects the spanish inquisition! http://www.youtube.com/watch?v=cse38dzjyky parameters def name(parameter, parameter,..., parameter): statements parameters are

More information

EXAMINATIONS 2016 TRIMESTER 2

EXAMINATIONS 2016 TRIMESTER 2 EXAMINATIONS 2016 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators

More information

11/7/12. Discussion of Roulette Assignment. Objectives. Compiler s Names of Classes. GUI Review. Window Events

11/7/12. Discussion of Roulette Assignment. Objectives. Compiler s Names of Classes. GUI Review. Window Events Objectives Event Handling Animation Discussion of Roulette Assignment How easy/difficult to refactor for extensibility? Was it easier to add to your refactored code? Ø What would your refactored classes

More information

CSCI 136 Programming Exam #2 Fundamentals of Computer Science II Spring 2012

CSCI 136 Programming Exam #2 Fundamentals of Computer Science II Spring 2012 CSCI 136 Programming Exam #2 Fundamentals of Computer Science II Spring 2012 This part of the exam is like a mini- programming assignment. You will create a program, compile it, and debug it as necessary.

More information

G51PRG: Introduction to Programming Second semester Applets and graphics

G51PRG: Introduction to Programming Second semester Applets and graphics G51PRG: Introduction to Programming Second semester Applets and graphics Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk Previous two lectures AWT and Swing Creating components and putting

More information

Final Examination Review

Final Examination Review Pre-AP Computer Science Final Examination Review Multiple Choice Test 1. Which of the following are Java integer data types? byte, short, integer and longinteger shortint, int and longint byteint, shortint,

More information

Graphics and Painting

Graphics and Painting Graphics and Painting Lecture 17 CGS 3416 Fall 2015 November 30, 2015 paint() methods Lightweight Swing components that extend class JComponent have a method called paintcomponent, with this prototype:

More information

Lab 3: Work with data (IV)

Lab 3: Work with data (IV) CS2370.03 Java Programming Spring 2005 Dr. Zhizhang Shen Background Lab 3: Work with data (IV) In this lab, we will go through a series of exercises to learn some basics of working with data, including

More information

Course overview: Introduction to programming concepts

Course overview: Introduction to programming concepts Course overview: Introduction to programming concepts What is a program? The Java programming language First steps in programming Program statements and data Designing programs. This part will give an

More information

Nested Loops ***** ***** ***** ***** ***** We know we can print out one line of this square as follows: System.out.

Nested Loops ***** ***** ***** ***** ***** We know we can print out one line of this square as follows: System.out. Nested Loops To investigate nested loops, we'll look at printing out some different star patterns. Let s consider that we want to print out a square as follows: We know we can print out one line of this

More information

User interfaces and Swing

User interfaces and Swing User interfaces and Swing Overview, applets, drawing, action listening, layout managers. APIs: java.awt.*, javax.swing.*, classes names start with a J. Java Lectures 1 2 Applets public class Simple extends

More information

INTRODUCTION TO COMPUTER PROGRAMMING. Richard Pierse. Class 9: Writing Java Applets. Introduction

INTRODUCTION TO COMPUTER PROGRAMMING. Richard Pierse. Class 9: Writing Java Applets. Introduction INTRODUCTION TO COMPUTER PROGRAMMING Richard Pierse Class 9: Writing Java Applets Introduction Applets are Java programs that execute within HTML pages. There are three stages to creating a working Java

More information

2.6 Graphics SIMPLE DRAWINGS 9/9/16 74

2.6 Graphics SIMPLE DRAWINGS 9/9/16 74 2.6 Graphics SIMPLE DRAWINGS 9/9/16 74 Drawing Simple Graphics To help you create simple drawings, we have included a graphics module with the book that is a simplified version of Python s more complex

More information

Applets and the Graphics class

Applets and the Graphics class Applets and the Graphics class CSC 2014 Java Bootcamp Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Some slides in this presentation are adapted from the slides accompanying

More information

Here is a list of a few of the components located in the AWT and Swing packages:

Here is a list of a few of the components located in the AWT and Swing packages: Inheritance Inheritance is the capability of a class to use the properties and methods of another class while adding its own functionality. Programming In A Graphical Environment Java is specifically designed

More information

Practice Midterm 1. Problem Points Score TOTAL 50

Practice Midterm 1. Problem Points Score TOTAL 50 CS 120 Software Design I Spring 2019 Practice Midterm 1 University of Wisconsin - La Crosse February 25 NAME: Do not turn the page until instructed to do so. This booklet contains 10 pages including the

More information

CISC 1600, Lab 2.1: Processing

CISC 1600, Lab 2.1: Processing CISC 1600, Lab 2.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using Sketchpad, a site for building processing sketches online using processing.js. 1.1. Go to http://cisc1600.sketchpad.cc

More information

CS 305j Midterm 1 Fall 2008

CS 305j Midterm 1 Fall 2008 Points off 1 2 3 4 5 6 7 Total off Net Score CS 305j Midterm 1 Fall 2008 Your Name Your UTEID Circle you TA's name: Ann Alex Instructions: 1. Please turn off your cell phones 2. There are 7 questions on

More information

The Nervous Shapes Example

The Nervous Shapes Example The Nervous Shapes Example This Example is taken from Dr. King s Java book 1 11.6 Abstract Classes Some classes are purely artificial, created solely so that subclasses can take advantage of inheritance.

More information

Admin. CS 112 Introduction to Programming. Recap. Example: Nested Loop. Example: Rewrite

Admin. CS 112 Introduction to Programming. Recap. Example: Nested Loop. Example: Rewrite Admin CS 112 Introduction to Programming Graphics; Animation Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email: yry@cs.yale.edu q Issues on PS3 NumberCoolness:

More information

ICS 4U. Introduction to Programming in Java. Chapter 10 Notes

ICS 4U. Introduction to Programming in Java. Chapter 10 Notes ICS 4U Introduction to Programming in Java Chapter 10 Notes Classes and Inheritance In Java all programs are classes, but not all classes are programs. A standalone application is a class that contains

More information

CS2110. GUIS: Listening to Events

CS2110. GUIS: Listening to Events CS2110. GUIS: Listening to Events Lunch with instructors: Visit pinned Piazza post. A4 due tonight. Consider taking course S/U (if allowed) to relieve stress. Need a letter grade of C- or better to get

More information

CS2110. GUIS: Listening to Events. Anonymous functions. Anonymous functions. Anonymous functions. Checkers.java. mainbox

CS2110. GUIS: Listening to Events. Anonymous functions. Anonymous functions. Anonymous functions. Checkers.java. mainbox CS2110. GUIS: Listening to Events Lunch with instructors: Visit pinned Piazza post. A4 due tonight. Consider taking course S/U (if allowed) to relieve stress. Need a letter grade of C- or better to get

More information

1. Complete these exercises to practice creating user functions in small sketches.

1. Complete these exercises to practice creating user functions in small sketches. Lab 6 Due: Fri, Nov 4, 9 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use the

More information

Corel Draw 11. What is Vector Graphics?

Corel Draw 11. What is Vector Graphics? Corel Draw 11 Corel Draw is a vector based drawing that program that makes it easy to create professional artwork from logos to intricate technical illustrations. Corel Draw 11's enhanced text handling

More information

IT101. Graphical User Interface

IT101. Graphical User Interface IT101 Graphical User Interface Foundation Swing is a platform-independent set of Java classes used for user Graphical User Interface (GUI) programming. Abstract Window Toolkit (AWT) is an older Java GUI

More information

Graphics. Lecture 18 COP 3252 Summer June 6, 2017

Graphics. Lecture 18 COP 3252 Summer June 6, 2017 Graphics Lecture 18 COP 3252 Summer 2017 June 6, 2017 Graphics classes In the original version of Java, graphics components were in the AWT library (Abstract Windows Toolkit) Was okay for developing simple

More information

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1

2D Graphics. Shape Models, Drawing, Selection. CS d Graphics 1 2D Graphics Shape Models, Drawing, Selection 1 Graphic Models vs. Images Computer Graphics: the creation, storage, and manipulation of images and their models Model: a mathematical representation of an

More information

Java - Applets. public class Buttons extends Applet implements ActionListener

Java - Applets. public class Buttons extends Applet implements ActionListener Java - Applets Java code here will not use swing but will support the 1.1 event model. Legacy code from the 1.0 event model will not be used. This code sets up a button to be pushed: import java.applet.*;

More information

We will start our journey into Processing with creating static images using commands available in Processing:

We will start our journey into Processing with creating static images using commands available in Processing: Processing Notes Chapter 1: Starting Out We will start our journey into Processing with creating static images using commands available in Processing: rect( ) line ( ) ellipse() triangle() NOTE: to find

More information