applet presentation

Upload: xvam13

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Applet Presentation

    1/31

    1

    JAVA Applets

  • 7/31/2019 Applet Presentation

    2/31

    2

    Applets and applications

    An applet is a Java program that runs on a web page

    Applets can be run within any modern browser

    To run modern Java applets, old browsers need an up-to-date

    Java plugin appletviewer is a program that can run java applets.

  • 7/31/2019 Applet Presentation

    3/31

    3

    Packages and classes

    Java supplies a huge library of pre-written code,

    ready for you to use in your programs

    Code is organized into classes

    Classes are grouped into packages

    One way to use this code is to import it

    You can import a single class, or all the classes in a

    package

  • 7/31/2019 Applet Presentation

    4/31

    4

    The Applet class

    To create an applet, you must import the Applet class

    This class is in the java.applet package

    TheAppletclass contains code that works with a

    browser to create a display window Capitalization matters!

    applet and Applet are different names

  • 7/31/2019 Applet Presentation

    5/31

    5

    Importing the Applet class

    Here is the directive that you need:

    import java.applet.Applet;

  • 7/31/2019 Applet Presentation

    6/31

    6

    Thejava.awtpackage

    awt stands for Abstract Window Toolkit

    The java.awt package includes classes for:

    Drawing lines and shapes

    Drawing letters

    Setting colors

    Choosing fonts

    If its drawn on the screen, then java.awt isprobably involved!

  • 7/31/2019 Applet Presentation

    7/317

    Importing the java.awt package

    Since you may want to use many classes from the

    java.awt package, simply import them all:

    import java.awt.*;

    The asterisk, or star (*), means all classes

    The import directives can go in any order, but must be

    the first lines in your program

  • 7/31/2019 Applet Presentation

    8/318

    The applet so far

    import java.applet.Applet;

    import java.awt.*;

  • 7/31/2019 Applet Presentation

    9/319

    Your applet class

    public class Drawing extends Applet { }

    Drawing is the name of your class

    Class names should always be capitalized extends Applet says that our Drawing is a kind ofApplet, but with added capabilities Javas Applet just makes an empty window

    We are going to draw in that window The only way to make an applet is to extend Applet

  • 7/31/2019 Applet Presentation

    10/3110

    The applet so far

    import java.applet.Applet;

    import java.awt.*;

    public class Drawing extends Applet {

    we still need to put some code in here...

    }

  • 7/31/2019 Applet Presentation

    11/3111

    The paint method

    Our applet is going to have a method to paint some

    colored rectangles on the screen

    This method must be named paint

    paint needs to be told where on the screen it can draw This will be the only parameter it needs

    paintdoesnt return any result

  • 7/31/2019 Applet Presentation

    12/3112

    The paint method, part 2

    public void paint(Graphics g) { } public says that anyone can use this method

    void says that it does not return a result

    A Graphics(short for Graphics context) is an

    object that holds information about a painting

    It remembers what color you are using

    It remembers what font you are using

    You can paint on it (but it doesnt remember what youhave painted)

  • 7/31/2019 Applet Presentation

    13/3113

    The applet so far

    import java.applet.Applet;

    import java.awt.*;

    // CIT 591 example

    public class Drawing extends Applet {

    public void paint(Graphics g) {

    we still need to put some code in here

    }

    }

  • 7/31/2019 Applet Presentation

    14/3114

    Colors

    The java.awtpackage defines a class named Color

    There are 13 predefined colorshere 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.CYAN

    Color.GRAY Color.ORANGE Color.BLUE

    Color.LIGHT_GRAY Color.YELLOW

    Color.WHITE Color.MAGENTA

  • 7/31/2019 Applet Presentation

    15/3115

    New colors

    Every color is a mix of red, green, and blue

    You can make your own colors:

    new Color(red,green,blue)

    Amounts range from 0 to 255 Black is (0, 0, 0), white is (255, 255, 255)

    Yellow is red + green, or (255, 255, 0)

  • 7/31/2019 Applet Presentation

    16/31

    16

    Using Colors

    static int HSBtoRGB(float h, float s, float b)

    static float[] RGBtoHSB(int r, int g, int b, float hsb[])

    Color brighter()

    Color darker()

    static Color decode(String str) throws NumberFormatException

    boolean equals(Object obj)

    int getBlue()

    int getGreen()

    int getRGB()

    int getRed()

    http://java.sun.com/javase/6/docs/api/java/awt/Color.html

    import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;

    /*

    */

    public class BlueString extends Applet {

    public void paint(Graphics g) {g.setColor(Color.blue);g.drawString("Blue String", 100, 50);

    }}

    Color(int red, int green, int blue)

    Color(int rgb)

    Color(float r, float g, float b)

    Color Constructors

  • 7/31/2019 Applet Presentation

    17/3117

    Setting a color

    To use a color, we tell our Graphicsgwhat color we

    want:

    g.setColor(Color.RED);

    g will remember this color and use it for everythinguntil we tell it some different color

  • 7/31/2019 Applet Presentation

    18/3118

    The paint method so far

    public void paint(Graphics g) {

    g.setColor(Color.BLUE);

    draw a rectangle

    g.setColor(Color.RED);draw another rectangle

    }

    }

  • 7/31/2019 Applet Presentation

    19/3119

    Pixels

    A pixel is a picture (pix) element

    one pixel is one dot on your screen

    there are typically 72 to 90 pixels per inch

    java.awt measures everything in pixels

  • 7/31/2019 Applet Presentation

    20/3120

    Javas coordinate system

    Java 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)

  • 7/31/2019 Applet Presentation

    21/3121

    Drawing rectangles

    There are two ways to draw rectangles:

    g.drawRect(left,top,width,height);

    g.fillRect(left,top,width,height);

  • 7/31/2019 Applet Presentation

    22/31

    22

    The complete applet

    import java.applet.Applet;

    import java.awt.*;

    // CIT 591 example

    public class Drawing extends Applet {

    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);

    }

    }

  • 7/31/2019 Applet Presentation

    23/31

    23

    Some more java.awt methods

    g.drawLine(x1 ,y1,x2 ,y2 );

    g.drawOval( left,top,width,height );

    g.fillOval( left,top,width,height);

    g.drawRoundRect( left,top,width,height );

    g.fillRoundRect( left,top ,width,height);

    g.drawArc( left,top,width,height,

    startAngle,arcAngle ); g.drawString(string,x,y);

  • 7/31/2019 Applet Presentation

    24/31

  • 7/31/2019 Applet Presentation

    25/31

    25

    Displaying Text

    FontMetrics(Font font)

    http://java.sun.com/javase/6/docs/api/java/awt/Font.html

    Font(String name, int style, int ps) Font Constructor

    abstract void setFont(Font font)

    setFont() Method

    FontMetrics Constructor

  • 7/31/2019 Applet Presentation

    26/31

    26

    Using Applet Dimensions

    http://java.sun.com/javase/6/docs/api/java/awt/Dimension.html

    Dimension getSize()getSize() Method

    Dimension()

    Dimension(Dimension d)

    Dimension(int w, int h)

    Dimension Constructors

  • 7/31/2019 Applet Presentation

    27/31

    27

    Using Applets in a Web Page

    []

    []

    .

    []

    Applet HTML Tag

    import java.applet.*;import java.awt.*;

    /*

    */

    public class AppletParameters extends Applet {

    public void paint(Graphics g) {String background = getParameter("background");String foreground = getParameter("foreground");String message = getParameter("message");setBackground(Color.decode(background));setForeground(Color.decode(foreground));Font font = getFont();FontMetrics fm = getFontMetrics(font);Dimension d = getSize();int x = (d.width - fm.stringWidth(message)) / 2;int y = d.height / 2;g.drawString(message, x, y);

    }}

  • 7/31/2019 Applet Presentation

    28/31

    28

    The Applet Class

    java.lang.Object

    java.awt.Component

    java.awt.Container

    java.awt.Panel

    java.applet.Applet

    Applet and itssuperclasses

    import java.applet.*;import java.awt.*;

    /*

    */

    public class BackgroundForeground extends Applet {

    public void paint(Graphics g) {setBackground(Color.yellow);setForeground(Color.blue);g.drawLine(0, 0, 200, 200);g.fillRect(100, 40, 50, 50);

    }

    }

  • 7/31/2019 Applet Presentation

    29/31

    The Life Cycle of an Applet

    import java.applet.Applet;

    import java.awt.Graphics;/*

    */

    public class AppletLifecycle extends Applet {String str = "";

    public void init() {str += "init; ";}

    public void start() {str += "start; ";

    }

    public void stop() {str += "stop; ";

    }

    public void destroy() {System.out.println("destroy");

    }

    public void paint(Graphics g) {g.drawString(str, 10, 25);

    }}

    init() : called only when the appletbegins execution.

    start() : executed after init() method.Called by the applet viewer or Webbrowser.

    stop() : when applet viewer is minimized. destroy() : called by the applet viewer or

    Web browser before the applet isterminated.

  • 7/31/2019 Applet Presentation

    30/31

    Action /Event Listeners

    Now that you know how to display things on screen youneed a way to responds to the user actions. This is done

    with the EventListeners. An Event is a user interaction.

    Reacting on GUI cmponents is done by adding

    ActionListeners:

    MouseListener

    MouseMotionListener

    KeyboardListener (but it is not a common class you will

    use.)

    30

    http://www.realapplets.com/tutorial/MouseClickExample.htmlhttp://www.realapplets.com/tutorial/MouseMotionExample.htmlhttp://www.realapplets.com/tutorial/MouseMotionExample.htmlhttp://www.realapplets.com/tutorial/MouseClickExample.html
  • 7/31/2019 Applet Presentation

    31/31

    Thank you!