Object oriented programming: Java Applets
Aplikimet multimediale
Leksioni #9 Java and Java applets
Ada GOGU
Departamenti i Telekomuniakacionit dhe Elektronikes,
Fakulteti i Teknologjise se Informacionit
A. GOGU 1 / 26
Object oriented programming: Java Applets
Summary
1 Object oriented programming: Java
2 Applets
A. GOGU 2 / 26
Object oriented programming: Java Applets
Summary
1 Object oriented programming: Java
2 Applets
A. GOGU 3 / 26
Object oriented programming: Java Applets
A summary of Java
Java is a language developed by Sun, which is designed to
be object oriented and Simple, robust and secure,
independent of hardware architectures and Multitasking.
Object oriented and simple : Simpler than C + +,
transparent memory management.
Robust and secure : Data typing is extremely strict. For
applets, it is in principle impossible to access the resources
of the host machine.
Independent of hardware architectures : The compiler
generates a universal code : the " byte-code ". An
interpreter which is specific to the host machine, " virtual
machine ", executes the programs.
Multitasking : Java seemingly allows execution of several
processes. In reality, a time slot is given to each process
on the processor (Multithreaded).
A. GOGU 4 / 26
Object oriented programming: Java Applets
J2SE versus J2EE
J2SE (standard edition) contains the basic usable
components from both the client and server side, — GUI,
AWT/Swing for applications (client) or applets.
Currently J2SE v1.6 (ou V6)
J2EE (enterprise edition), is in a certain sense an
extension of SE, designed for server side programming —-
Servlets, JSP, EJB, etc.
Currently J2EE v1.4
A. GOGU 5 / 26
Object oriented programming: Java Applets
Java and object oriented programming
Classes and objects.
The objects include data and processing for the data.
Communication is done via messages (methods). A class
corresponds to an abstract model for object construction.
A class is made up of:
attributes (static part)
Methods (dynamic part), which define the behavior.
Inheritance : the is a relationship : a car is a vehicle,
Polymorphism : the same message can be recognized by
several objects and entail different behavior.
A. GOGU 6 / 26
Object oriented programming: Java Applets
Portability: JVM
The compiler compiles the java source in byte code : javac
[Link] => [Link] Then, java is the name of the program
which will interpret the generated byte code.
A. GOGU 7 / 26
Object oriented programming: Java Applets
Event management via design patterns
The management of events (mouse click, pressing a
button, etc ...) is done using the Observer Pattern principle
(or listener).
Certain objects (source) can generate events.
Any object which would like to be warned when an event of
a source happens must implement an interface and
methods for the processing <Type event>Listener and
subscribe to this source using the source object’s — The
subscription/retraction is achieved using add/remove<Type
event>Listener().
It then becomes a target (the source). When a source
generates an event, concretely it will simply browse the list
of subscribers and call one of the methods.
A. GOGU 8 / 26
Object oriented programming: Java Applets
Java and packages
Packages:
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
A. GOGU 9 / 26
Object oriented programming: Java Applets
Java and packages
Classpaths:
classpath: specifies to the virtual machine the location from
which the resources (bytecode and others) should be taken.
The directory \ project \ classes
The archive \ project \ lib \ [Link]
import : command used for importing remote packages or
classes.
A. GOGU 10 / 26
Object oriented programming: Java Applets
Summary
1 Object oriented programming: Java
2 Applets
A. GOGU 11 / 26
Object oriented programming: Java Applets
Applets
An applet is a special Java application that will run in an
HTML document viewed by a browser.
Goal : transmit executable code to the client.
The Applet class is a sub-class of the Panel class (from the
[Link] package). (An applet is a graphic component
container.)
An applet will be able to respond to mouse and keyboard
events and use graphic components like buttons,
checkboxes etc..
An applet runs in a specific JVM, the JVM of a web
browser.
A. GOGU 12 / 26
Object oriented programming: Java Applets
Applet specifics
An applet has special characteristics compared with an
independent application :
Limited access to the network : An applet can only
communicate with the machine from which it comes.
Limited access to the file system : An applet which is
loaded into a browser from the network has no access to
the local file system.
Limited access to native methods.
A. GOGU 13 / 26
Object oriented programming: Java Applets
The [Link] package
[Link] package: allows programmers to integrate java
applications (applets) into Web documents.
This package contains:
The Applet class. The Applet class is derived from the
[Link] class.
The following interfaces : AppletContext, AppletStub and
AudioClip.
A. GOGU 14 / 26
Object oriented programming: Java Applets
Creating an applet
In order to create an applet, a class which inherits from the
Applet class must be defined, and certain methods must be
redefined. It has four special methods, which are :
public void init()
public void start()
public void stop()
public void destroy()
It also inherits from the public void paint(Graphics g) methods
declared in the Component class
A. GOGU 15 / 26
Object oriented programming: Java Applets
The init() method
public void init()
The init() method, called by the browser, enables the
initialization of the applet, (the constructor will be called before
this method). This method is executed one time only at the
start-up of the applet. It allows:
parameter fetching
instantiation of objects which are parameter-dependent.
the initialization of parameter-dependent values.
police loading or loading images which are parameter
dependent.
A. GOGU 16 / 26
Object oriented programming: Java Applets
Method
public void start()
The start() method is executed :
just after the init() method
every time the browser comes back to the HTML page
which contains the applet.
public void stop()
The stop() method is executed
each time the user leaves the web page which contains the
applet or whenever the page is no longer visible.
public void destroy()
The destroy() method is called at:
the end of the applet, so when the user leaves the window
or the web page browser.
public void paint(Graphics g)
The paint() method is obtained by inheritance, and is
A. GOGU 17 / 26
Object oriented programming: Java Applets
Other methods
Other methods allow obtaining of information about the applet
which is running.
public String getParameter(String name)
Recovers the parameters passed to the HTML document.
public AppletContext getAppletContext()
Recovers the display context of the current applet. It is
generally a browser (Netscape etc.) or the appletviewer.
public URL getDocumentBase()
Returns the URL of the HTML document which includes
the applet.
public Image getImage(URL url)
Loads an image which can be used afterwards. url is an
absolute URL.
A. GOGU 18 / 26
Object oriented programming: Java Applets
Parameter passing
Only one default constructor can be defined in an applet. The
browser would be unable to know which parameter to pass to
another constructor. On the other hand, it is possible to pass
parameters to an applet designed for :
instantiation of objects
initialization of values
police or image loading
A. GOGU 19 / 26
Object oriented programming: Java Applets
The <APPLET> tag
The <applet> tag enables the integration of a space for the
execution of a Java application in an HTML document.
The HTML file has the ability to pass parameters to an applet
(the PARAM tag).
The recovery of these parameters is done in the source of the
applet using the following method String getParameter(String
name) of theApplet class.
A. GOGU 20 / 26
Object oriented programming: Java Applets
The <APPLET> tag
<APPLET
CODE= " AClassName "
HEIGHT= a n I n t e g e r
WIDTH= a n o t h e r I n t e g e r
>
<PARAM
NAME= " f i r s t P a r a m e t e r "
VALUE= " v a l u e O f F i r s t P a r a m e t e r "
>
<PARAM
NAME= " secondParameter "
VALUE= " valueOfSecondParameter "
>
......
</APPLET>
A. GOGU 21 / 26
Object oriented programming: Java Applets
Structure of an applet
import java . applet . ∗ ;
i m p o r t j a v a . awt . ∗ ;
p u b l i c c l a s s <AppletName> extends A p p l e t {
public void i n i t ( ) {
<Initialisations >
< S t a r t o f t h e processes >
}
public void s t a r t ( ) {
< S t a r t t h e a p p l e t , t h e Web page i s v i s i t e d o r becomes v i s i b l e again >
}
p u b l i c v o i d p a i n t ( Graphics g ) {
<Draw t h e c u r r e n t c o n t e n t o f t h e a p p l e t >
}
p u b l i c void stop ( ) {
<Stop t h e a p p l e t , t h e web page i s no l o n g e r v i s i b l e o r t h e user l e a v e s
}
public void destroy ( ) {
<Release t h e resources , t h e a p p l e t w i l l l e a v e t h e memory>
}}
Life cycle of an applet : init() ( start() paint() stop() ) destroy().
A. GOGU 22 / 26
Object oriented programming: Java Applets
Example of a simple applet (I)
import java . applet . ∗ ;
i m p o r t j a v a . awt . ∗ ;
p u b l i c c l a s s H e l l o extends Appl {
String text ;
public void i n i t ( )
{
t e x t e = getParameter ( " t e x t " ) ;
}
p u b l i c v o i d p a i n t ( Graphics g )
{
g . d r a w S t r i n g ( t e x t e , 30 , 3 0 ) ;
}
}
A. GOGU 23 / 26
Object oriented programming: Java Applets
Example of a simple applet (II)
<HTML>
<body>
<applet >
<param name= " t e x t " v a l u e = " H e l l o ! ">
</ a p p l e t >
</ body>
</HTML>
In order to execute, use :
either the browser by opening the HTML file
or the appletviewer
A. GOGU 24 / 26
Object oriented programming: Java Applets
Loading a JAR (Java Archive) file
This file format de fichier allows the fusion of several files which
are used by an applet (".class", sounds and images) into one
file in the JAR format which will be loaded with a singe request
by the HTTP protocol.
Create : jar cfv [Link] file1... filen
call:
<applet
code = " f i l e . c l a s s "
archive=" f i l e . j a r "
w i d t h = " 200 " h e i g h t = " 200 " >
</ a p p l e t >
A. GOGU 25 / 26
Object oriented programming: Java Applets
Fund i leksionit 9
A. GOGU 26 / 26