A Simple AppletApplets and applicationsImporting some things we needThe applet structureThe paint methodThe paint method, part 2The paint method, part 3The applet so farColorsNew colorsSetting a colorThe paint method so farPixelsJava’s coordinate systemDrawing rectanglesDrawing stringsThe complete appletMore java.awt.Graphics methodsStill more Graphics methodsThe HTML pageThe End1A Simple Applet2Applets and applicationsAn application is an “ordinary” programExamples: Notepad, MS Word, Firefox, Halo, etc.An applet is a Java program that runs “within” another program (usually a browser)Applets can be run within any browserTo run Java applets, browsers need an up-to-date Java pluginappletviewer is a program that can run appletsWhen you download the Java SDK, appletviewer comes with itappletviewer is always up-to-date with your Java systemEclipse has an built-in applet viewer3Importing some things we needTo create an applet, you will import the JApplet classThe JApplet class is in the javax.swing packageThis is the only class we will need from the swing packageimport javax.swing.JApplet;Since you will want to use many classes from the java.awt package, we will just import them all: import java.awt.*;4The applet structureimport javax.swing.JApplet;import java.awt.*;// CIT 591 examplepublic class Drawing extends JApplet { …we still need to put some code in here...}5The paint methodOur applet is going to have a method to paint some colored rectangles on the screenThis method must be named paintIn applets, this is a special method namepaint needs to be told where on the screen it can drawThis will be the only parameter it needspaint doesn’t return any result6The paint method, part 2public void paint(Graphics g) { … }public says that anyone can use this methodvoid says that it does not return a resultpaint is the name of the methodMethod names should begin with a lowercase letterThe argument, or parameter (there’s only one) is inside parenthesesThe method’s commands are inside braces7The paint method, part 3public void paint(Graphics g) { … }A Graphics (short for “Graphics context”) is an object that holds information about a paintingIt remembers what color you are usingIt remembers what font you are usingYou can “paint” on it (but it doesn’t “remember” what you have painted)In this program,The type of the parameter is GraphicsThe name of the parameter is g8The applet so farimport javax.swing.JApplet;import java.awt.*;// CIT 591 examplepublic class Drawing extends JApplet { public void paint(Graphics g) { …we still need to put some code in here… }}9ColorsThe java.awt package defines a class named ColorThere are 13 predefined colors—here are their fully-qualified names:For compatibility with older programs (before the naming conventions were established), Java also allows color names in lowercase: Color.black, Color.darkGray, etc.Color.BLACK Color.PINK Color.GREENColor.DARK_GRAY Color.RED Color.CYANColor.GRAY Color.ORANGEColor.BLUEColor.LIGHT_GRAY Color.YELLOWColor.WHITE Color.MAGENTA10New colorsEvery color is a mix of red, green, and blueYou can make your own colors: new Color( red , green , blue )Amounts range from 0 to 255Black is (0, 0, 0), white is (255, 255, 255)We are mixing lights, not pigmentsYellow is red + green, or (255, 255, 0)11Setting a colorTo use a color, we tell our Graphics g what color we want: g.setColor(Color.RED);g will remember this color and use it for everything until we tell it some different color12The paint method so far public void paint(Graphics g) { g.setColor(Color.BLUE); …draw a rectangle… g.setColor(Color.RED); …draw another rectangle… }}13PixelsA pixel is a picture (pix) elementone pixel is one dot on your screenthere are typically 72 to 90 pixels per inchjava.awt measures everything in pixels14Java’s coordinate systemJava uses an (x, y) coordinate system(0, 0) is the top left corner(50, 0) is 50 pixels to the right of (0, 0)(0, 20) is 20 pixels down from (0, 0)(w - 1, h - 1) is just inside the bottom right corner, where w is the width of the window and h is its height(0, 0)(0, 20)(50, 0)(50, 20)(w-1, h-1)(50, 0)(0, 0)(0, 20)(50, 20)15Drawing rectanglesThere are two ways to draw rectangles:g.drawRect( left , top , width , height );g.fillRect(left , top , width , height );16Drawing stringsA String is a sequence of characters enclosed in double quote marks"Hello, World!"A double quote mark in a String must be preceded by a backslash ( \ )"He said, \"Please don't go!\" "To draw a string, you need to specify not only what you want to say, but where to say itg.drawString( string, left, top );For example,g.drawString("Example JApplet", 20, 80);17The complete appletimport javax.swing.JApplet;import java.awt.*;// CIT 591 examplepublic class Drawing extends JApplet { public void paint(Graphics g) { g.setColor(Color.BLUE); g.fillRect(20, 20, 50, 30); g.setColor(Color.RED); g.fillRect(50, 30, 50, 30); g.setColor(Color.BLACK); g.drawString("Example JApplet", 20, 80); }}18More java.awt.Graphics methodsg.drawLine(x1, y1, x2, y2);g.drawOval(left, top, width, height);g.fillOval(left, top, width, height);g.drawRoundRect(left, top, width, height, arcWidth, arcHeight);arcWidth, arcHeight define the “roundedness” of cornersg.fillRoundRect(left, top, width, height, arcWidth, arcHeight);g.drawArc( left, top, width, height, startAngle, arcAngle);Angles are in degrees0 degrees is the 3 o’clock positionPositive angles are to the rightg.FillArc( left, top, width, height, startAngle, arcAngle);19Still more Graphics methodsg.drawPolygon(xPoints, yPoints, n);g.fillPolygon(xPoints, yPoints, n);xPoints and yPoints are int arrays of size nOne way to write an int array is: new int[] { value1, value2, ..., valueN}Example: g.drawPolygon(new int[] { 250, 290, 210 },IIIIIIIIIIIIII III new int[] { 210, 290, 290 }, 3);draws a triangle using the 3 points (250, 210), (290, 290), and (210, 290).g.drawPolyline(xPoints, yPoints, n);A “polyline” is like a polygon, except the first and last points are not automatically connectedHence, there is no “fillPolyline” method20The HTML pageYou can only
View Full Document