Download Chapter 10

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Color wikipedia , lookup

Color vision wikipedia , lookup

Spatial anti-aliasing wikipedia , lookup

General-purpose computing on graphics processing units wikipedia , lookup

Stereoscopy wikipedia , lookup

List of 8-bit computer hardware palettes wikipedia , lookup

Stereo display wikipedia , lookup

Anaglyph 3D wikipedia , lookup

PostScript wikipedia , lookup

Rendering (computer graphics) wikipedia , lookup

MOS Technology VIC-II wikipedia , lookup

Free and open-source graphics device driver wikipedia , lookup

Indexed color wikipedia , lookup

Hold-And-Modify wikipedia , lookup

2.5D wikipedia , lookup

Video card wikipedia , lookup

Color Graphics Adapter wikipedia , lookup

BSAVE (bitmap format) wikipedia , lookup

Graphics processing unit wikipedia , lookup

Framebuffer wikipedia , lookup

Apple II graphics wikipedia , lookup

Tektronix 4010 wikipedia , lookup

Molecular graphics wikipedia , lookup

Waveform graphics wikipedia , lookup

Transcript
Java
Programming,
Second Edition
Chapter Ten
Graphics
In this chapter, you
will:
• Learn about the paint() and repaint()
methods
• Use the drawString() method to
draw strings
• Use the setFont() and setColor()
Graphic object methods
• Create Graphics and Graphics 2D
objects
• Draw lines, rectangles, ovals, arcs,
and polygons
• Copy an area
• Learn more about fonts and their
methods
• Draw with Java 2D graphics
• Add sound, images, and simple
animations to Swing applets
Learning about the paint() and
repaint() Methods
• paint() method- Runs when Java displays
your Swing applet
– Is used within every Swing applet
– public void paint (Graphics g)
• repaint() method- Use when a window
needs to be updated, such as when it
contains new images
– Java system calls the repaint() method when it
needs to update a window
– repaint() creates a Graphics object for you
Using the drawString() Method
to Draw Methods
• drawString() method- Allows you to
draw a String in a Swing applet
window
• Requires three arguments:
– A String
– An x-axis coordinate
– A y-axis coordinate
Using the setFont() and setColor()
Graphics Object Methods
• setFont() and setColor() Graphics
object methods- Improve the
appearance of Graphics objects
– setFont() method requires a Font object
– Font someFont = new
Font(“TimesRoman”,Font.BOLD, 16);
Using the setFont() and setColor()
Graphics Object Methods
• setColor() method- Color class
contains 13 constants
– Use any of these constants as an
argument to the setColor() method
– brush.setColor(Color.green);
The Swing Applets Background
Color
setBackground()
• setBackground(Color.pink);
• Change the background color of your
Swing applet
• You do not need a Graphics object to
change the Swing applet’s
background color
Creating Graphics and
Graphics 2D Objects
• You can instantiate your own
Graphics or Graphics 2D objects
Drawing Lines
• drawLine() method- To draw a
straight line between any two points
on the screen
• Takes four arguments
– The x- and y-coordinates of the line’s
starting point
– The x- and y-coordinates of the line’s
ending point
• pen.drawLine(10,10,100,200);
Drawing Rectangles
• drawRect() and fillRect() methods- To
draw the outline of a rectangle or to draw
a solid, or filled, rectangle
• These methods require four arguments:
– First two represent the x- and y-coordinates of
the upper-left corner of the rectangle
– Last two represent the width and height of the
rectangle
– drawRect(20,100,200,10);
Drawing Rectangles
• clearRect() method- Draws a
rectangle
• Requires four arguments
• drawRect() and fillRect() methods
use the current drawing color
• clearRect() method uses the current
background color to draw what
appears to be an empty or “clear”
rectangle
Drawing Rectangles
• drawRoundRect() method- Create
rectangles with rounded corners
• Requires six arguments:
– x- and y-coordinates of the upper-left
corner
– The width and height
– The arc width and height associated
with the rounded corners
Drawing Ovals
• drawOval()
• fillOval()
• Both draw ovals using the same four
arguments that rectangles use
Drawing Arcs
• Draw an arc using the Graphics drawArc()
method
• Provide six arguments:
– x-coordinate of the upper-left corner of an
imaginary rectangle that represents the
bounds of the imaginary circle that contains
the arc
– y-coordinate of the same point
– Width of the imaginary rectangle that
represents the bounds of the imaginary circle
that contains the arc
– Height of the same imaginary rectangle
– Beginning arc position
– Arc angle
Drawing Arcs
• fillArc() method- Creates a solid arc
• Arc is drawn and two straight lines are
drawn from the arc end points to the
center of the imaginary circle whose
perimeter the arc occupies
• solidarc.fillArc(10,50,100,100,20,320);
• solidarc.fillArc(200,50,100,100,340,40);
Creating Three-Dimensional
Rectangles
• draw3DRect() method- To draw a rectangle
that appears to have “shadowing” on two of
its edges
• Requires a fifth argument in addition to the
x- and y-coordinates and width and height
• Fifth argument is a Boolean value
– True if you want the raised rectangle effect
– False if you want the lowered rectangle
effect
• fill3DRect() method for creating filled threedimensional rectangles
Creating Polygons
• drawPolygon() method- To create a shape
that is more complex than a rectangle
• Requires three arguments: two integer
arrays and a single integer
– First integer array holds a series of xcoordinate positions
– Second array holds a series of corresponding
y-coordinate positions
– Third integer argument is the number of pairs
of points you want to connect
Copying an Area
• copyArea() method- Use to copy an
area
• Requires 6 parameters
– x-coordinate and y-coordinate of the
upper-left corner of the area to be
copied
– Width and height of the area to be
copied
– The horizontal and vertical displacement
of the destination of the copy
Learning More about Fonts and
Their Methods
• getAllFonts()- Used to discover the
fonts that are available on your
system
– Part of the GraphicsEnvironment class in
the java.awt package
• getScreenResolution() and
getScreenSize()-Used to get the
resolution and screen size of your
system
– getScreenResolution()- returns the
number of pixels as an int type
Drawing with Java 2D
Graphics
• Java 2D creates higher-quality twodimensional graphics, images, and
text
– Includes fill patterns such as gradients
– Strokes that define the width and style
of a drawing stroke
– Anti-aliasing, a graphics technique for
producing smoother on-screen graphics
Specifying the Rendering
Attributes
• Fill patterns- Control how a drawing
will be filled in
• Gradient fill- A gradual shift of color
– Acyclic- color shift occurs once
– Cyclic- color shift occurs repeatedly
• setStroke()- Changes the width of
the drawing line
Adding Sound, Images, and
Simple Animation to Swing
Applets
• Java 2 supports sound
• Use the play() method to retrieve
and play sound
– play() with one argument- the argument
is a URL
– play() with two arguments- loads and
plays the audio file
Adding Sound, Images, and
Simple Animation to Swing
Applets
• Images formats supported by Java
include:
– Graphics Interchange Format (GIF)
• Maximum of 256 colors
– Join Photographic Experts Group (JPEG)
• Stores mostly photographs
– Portable Network Graphics (PNG)
• Stores images in a lossless form