gayle j yaverbaum, phd professor of information systems penn state harrisburg

Post on 14-Dec-2015

219 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gayle J Yaverbaum, PhDProfessor of Information SystemsPenn State Harrisburg

OO Concepts Reviewed

Programs consist of communicating objects.

Objects consist of: fields/data (values or

attributes) = properties. methods= behaviors.

Instantiation = process of creating an object.

More OOP Concepts

Abstract data type (ADT)

Encapsulation

Polymorphism

Java features

Portable Multithreade

d Secure

Java Graphics/speed

■ JAVA has very good graphics

■ Applets provide access to Graphical User Interface (GUI)

■ JAVA is fast

■ Better Support in recent years

JAVA Development Environment

Eclipse 3.2 Review tutorial-March 1 Use for applet

development

Each JAVA Applet extends or inherits the JApplet class

Methods in JApplet class do nothing unless overriden:

init : called automatically when applet is runstart: automatically called after initpaint: called once after init, when a panel changes, and also after repaint () method is calledstop: called when execution is finisheddestroy:cleans up after applet removed from memory

Business

KMart Macys

ServiceBusiness

Kinkos

RetailBusiness

The child inherits characteristics of the parent: (both methods and data)

Note: Single inheritance in JAVA

is-a

An Applet Sample Structure

import javax.swing.*; //programs are derived // from javax.swingimport java.awt.*; //abstract windows toolkitpublic class <name of your applet> extends JApplet{ public void init () { }

public void paint (Graphics g) {

}}

Lab: Applet I

CREATE A PROJECT in Eclipse (Tutorial (if review is necessary)

I. File/New/Project/Java/JavaProject/Next/Finish

Project Name: FirstApplet, in the appropriate space.

Lab: Applet I

CREATE A Package in the project

I. File/New/Package

II. Enter a Package Name: firstapplet, in the appropriate space

III. Finish

Lab: Applet I

Create a class within the package• Caution: Do not check any buttons on bottom of the

screen

Right Click on the package name Create a class Enter the Name: of the class – call it

FirstApplet Finish

Lab: Applet Ipackage firstapplet;public class FirstApplet {}

Extend the class so that it will inherit methods from JApplet

public class FirstApplet extends JApplet

Add two import statements after the package statement:

import javax.swing.JApplet;

import java.awt.*;

Your screen!

package firstapplet;import java.swing.JApplet; Import java.awt.*;public class FirstApplet extends JApplet{

}

You will see something similar to this!

package firstapplet;import java.awt.*;Import javax.swing.JApplet;public class FirstApplet extends JApplet { public void init () { } public void paint (Graphics g) { }}

Add the following within the class!

Save your program1.Right Click on FirstApplet

Project 2.Build project3.Run4.Run As 5.Java Applet

Applet Demo Explanation

Add some code! (use your own string values and color)

package firstapplet;import java.awt.*;Import javax.swing.JApplet;public class FirstApplet extends JApplet { public void init () { } public void paint (Graphics g) { super.paint (g); Graphics2D g2 = (Graphics2D)g g2.setColor (Color.blue);

g2.drawString (“Gayle J Yaverbaum”, 20, 10);

g2.drawString (“Penn State Harrisburg”, 20,25);

}} Caution: DO NOT cut and paste from

Powerpoint

Applet Demo Explanation

1. init : is called automatically when applet is run2. paint: is called once after init and when a repaint

method is called.a. super.paint (g) calls the super class inherited

from JApplet. Omitting it can cause some subtle drawing errors.

b. paint receives the Graphics class as a parameter.

The form is (type)<object or variable>

public void draw (Graphics g){

Graphics2D g2=(Graphics2D)g;

}

Casting: to convert the object "g" to "g2"

A Graphics object is passed as a parameter to paint ()

setColor is a method in the Graphics class black (default), blue, cyan,

darkGray, gray, green, lightGray, magenta, orange, pink, red, white, and yellow

drawString is a method in Graphics Parameters are: string, x

coordinate, y coordinate

Reminders! FirstApplet is name of class and

must be same as the class name By convention - class names begin

with a capital letter By convention - package names

are the same name as the project name and all lower case

By convention method names begin with a lower-case letter

xml file for FirstApplet

<?xml version="1.0"?><!DOCTYPE jclass SYSTEM "jclass.dtd"><jclass> <app class="firstapplet.FirstApplet" width="300" height="250"> </app></jclass>

Of note!

<xsl:template match=“jclass”> <xsl:for-each select="app">

<applet> <xsl:attribute name="code"> <xsl:value-of select="@class"/> </xsl:attribute> <xsl:attribute name="width"> <xsl:value-of select="@width"/> </xsl:attribute> <xsl:attribute name="height"> <xsl:value-of select="@height"/> </xsl:attribute></applet>

<br/><br/><br/> </xsl:for-each></xsl template>

XSLT

DTD: Element with attributes

<!ELEMENT jclass (app+)><!ELEMENT jclass (app+)><!ATTLIST app <!ATTLIST app class CDATA "none"class CDATA "none"

width CDATA "none"width CDATA "none" height CDATA "none"height CDATA "none"

>>

<!ATTLIST elementname attributename type default

CDATA means character string

Reviews

•Text: Chapter 7•Reviews

• A Team Home Page• A member Home Page• One Applet Page• 2..4 sub pages

Extending the Application

DrawClass

Create another class, DrawClass, in your project package

Use the same package name, firstapplet, as before

Create a method, draw, in the class

Draw receives the Graphics class

from the calling method

public class DrawClass{

public void draw (Graphics g){

}}

public class FirstApplet extends JApplet{

DrawClass d;public void init () {

d = new DrawClass (); } public void paint (Graphics g) { super.paint(g);

Graphics2D g2=(Graphics2D)g;g2.setColor (Color.blue);g2.drawString ("Gayle J Yaverbaum", 50, 20);

g2.drawString ("Penn State Harrisburg", 50,30); d.draw(g); } }

public void draw (Graphics g){

super.paint(g);Graphics2D g2=(Graphics2D)g;g2.setPaint (Color.red);g2.setStroke( (new BasicStroke (10.0f)));g2.draw (new Rectangle2D.Double(100, 50, 100,50));

}

Sun Java Tutorial on 2D Graphics

Draw Method Ideas

top related