SlideShare a Scribd company logo
© Oxford University Press 2013. All rights reserved.
Programming in Java, 2e
Sachin Malhotra
Saurabh Choudhary
© Oxford University Press 2013. All rights reserved.
Chapter 12
Applets
© Oxford University Press 2013. All rights reserved.
Objectives
• Understand the difference between applet and
application
• Understand the lifecycle of an applet
• Learn how applets are created and executed
• create Shapes within applets
• Use Images in Applets
• Use Threads in Applet and create a Digital clock
© Oxford University Press 2013. All rights reserved.
Introduction
• Applet is small java programs, which can be easily
transported over the network from one computer to
other.
• used in internet applications,
• embedded in an html page, can be downloaded from
the server and run on the client, so as to do a specific
kind of job.
© Oxford University Press 2013. All rights reserved.
Difference between an applet and application
APPLET CLASS
• java.applet.Applet is the
super class of the all the
applets.
• Applet class has a
predefined hierarchy
Few methods of Applet class
© Oxford University Press 2013. All rights reserved.
Applet Structure
© Oxford University Press 2013. All rights reserved.
Applet Example
import java.applet.*;
import java.awt.*;
public class FirstApplet extends Applet {
public void paint(Graphics g) {
g.drawString(“applet demo”, 10,20);
}
}
© Oxford University Press 2013. All rights reserved.
Running an Applet
• There are two ways to run the applet.
1. Add the applet tag within the body of the html tag
<HTML><BODY>
<APPLET code = "FirstApplet.class" WIDTH = 200 HEIGHT =
150></APPLET>
</BODY></HTML>
You can execute the HTML file by giving appletviewer
FirstApplet.html
© Oxford University Press 2013. All rights reserved.
Running an Applet (contd.)
2. Add the Applet tag as a comment in the java source file
In order to run the applet You have to give the below HTML
coding as a comment in the source file :
/* <APPLET code = "FirstApplet.class" WIDTH = 200 HEIGHT =
150></APPLET> */
Execute the applet as: appletviewer FirstApplet.java
© Oxford University Press 2013. All rights reserved.
The Output
© Oxford University Press 2013. All rights reserved.
Applet Life cycle
• An applet may move from one state to another
depending upon a set of default behaviour inherited
in the form of methods from ‘Applet’ class.
• These states are
– Born
– Running
– Idle
– Dead
© Oxford University Press 2013. All rights reserved.
Applet State Diagram
© Oxford University Press 2013. All rights reserved.
Life cycle of Applet
• init() –
– creates the objects needed by the applet;
– sets up initial values, load font and images or set up colors.
– called only once during the lifetime of on Applet.
• start()
– moves to this phase automatically after the initialization state.
– if the applet is stopped or it goes to idle state, start() method must be called in
order to force the applet again to the running state.
• paint()
– This method is called each time to draw and redraw the output of an applet.
• stop()
– idle state, once it is stopped from running
• destroy()
– An applet goes to dead state when it is destroyed by invoking the destroy()
method of Applet class.
– It results in complete removal of applet from the memory.
© Oxford University Press 2013. All rights reserved.
Common Methods
• drawString():
– member of Graphics class, used to output a string to an applet.
– It is typically called from within the paint() or update() method.
– void drawString(String msg,int a, int b)
• setBackground() & getBackground()
– belongs to Component class, used to set and get the background color.
– void setBackground(Color anyColor)
– predefined constants for each color, such as Color.red can be used.
• setForeground() & get Foreground()
– set and gets the color of the text to be displayed on the foreground of
the applet window.
– void setForeground(Color anyColor)
• showStatus()
– display any string in the status window of the browser
– void showStatus(String text)
© Oxford University Press 2013. All rights reserved.
Example
/* <APPLET code = “ExampleApplet.class” WIDTH = 200 HEIGHT =
150></APPLET> */
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
public class ExampleApplet extends Applet{
String text;
public void init() {
setBackground(Color.white);
setForeground(Color.red);
text = “This is an example applet”;
System.out.println(“....Initialized the applet”);}
public void start() {
System.out.println(“....Starting of the applet”);}
© Oxford University Press 2013. All rights reserved.
Example (contd.)
public void stop() {
System.out.println(“....Stopping the applet”);}
public void destroy() {
System.out.println(“....Exiting the applet”);
}
public void paint(Graphics g) {
System.out.println(“....Painting the applet”);
g.drawString(text, 30, 30);
showStatus(“This is status bar”);
}}
The Output
Colour for Background and Font
• Color.black
• Color.blue
• Color.cyan
• Color.darkGray
• Color.magenta
• Color.orange
• Color.pink
• Color.red
• Color.gray
• Color.green
• Color.lightGray
• Color.white
• Color.yellow
© Oxford University Press 2013. All
rights reserved.
© Oxford University Press 2013. All rights reserved.
Paint, update & repaint
• All components and containers in the JDK have two
methods that are called by the system to paint their
surface.
– public void paint(Graphics g);
– public void update(Graphics g);
• If you wish that a drawing should appear in a window,
you shall override either or both of the methods.
• paint()
– for drawing/redrawing paint() method is called.
– The component draws itself when it first becomes visible.
– The component paint() method is also invoked when the
window containing it is uncovered, if it is covered by another
window.
© Oxford University Press 2013. All rights reserved.
Example
/* <APPLET code = “FillOval.class” WIDTH = 200 HEIGHT =
200></APPLET> */
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
public class FillOval extends Applet{
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillOval(20, 20, 60, 60);
}
}
© Oxford University Press 2013. All rights reserved.
The Output
© Oxford University Press 2013. All rights reserved.
update() method
• It clears the surface of the calling component to its
background color and then calls the paint() method
to paint the rest of the component.
• It makes the job easier because one does not have to
draw the whole component within a paint() method,
as the background is already filled. Then, when one
overrides paint(), he/she only needs to draw what
should appear on the foreground.
© Oxford University Press 2013. All rights reserved.
repaint() method
• if you have changed certain properties of a component to
reflect its new appearance, you can call the repaint() method.
– text.setBackground(Color.blue);
– text.repaint();
• Calling the repaint() method causes the whole component to
be repainted.
• repaint() in its default implementation calls update() which in
turn calls paint().
• repaint() method requests the AWT to call update and it
returns. The AWT combines multiple rapid repaint requests
into one request (usually this happens when you repaint
inside a loop). So the last repaint in the sequence actually
causes paint().
© Oxford University Press 2013. All rights reserved.
Applet Tag
© Oxford University Press 2013. All rights reserved.
Applet Tag
• CODEBASE - specifies the URL of the directory where the executable
class file of the applet will be searched for.
• CODE - It gives the name of the file containing the applet’s
compiled class file.
• ALT - specifies the alternate short text message that should be
displayed in case the browser recognizes the HTML tag but cannot
actually run the applet because of some reason.
• NAME - give a name to an applet’s instance
• WIDTH - gives the width of the applet display area in terms of
pixels.
• HEIGHT - gives the height of the applet display area in terms of
pixels.
• ALIGN - set the alignment of an applet. The alignment can be set as
LEFT, RIGHT, TOP, BOTTOM, MIDDLE, BASELINE, TEXTTOP,
ABSMIDDLE, and ABSBOTTOM.
• VSPACE - used to specify the space, in pixels, above and below the
applet.
© Oxford University Press 2013. All rights reserved.
Applet tag (contd.)
• HSPACE
– These are used to specify the space, in pixels, on each
side of the applet.
• PARAM sub tag
– provides information about parameters, or arguments, to be
used by the Java applet.
– The <PARAM> tag is simple—it NAMES a parameter and
provides a VALUE for that parameter.
– This tag has two attributes
• NAME: attribute name
• VALUE: value of the attribute named by corresponding PARAM NAME.
– The applets access their attributes using the getParameter()
method.
– String getParameter(String name);
© Oxford University Press 2013. All rights reserved.
Param tag Example
/*<APPLET CODE = ParamPassing.class WIDTH = 300 HEIGHT = 250>
<param NAME = yourName VALUE = John>
<param NAME = yourProfession VALUE = consultant>
<param NAME = yourAge VALUE = 35> </applet>*/
import java.awt.*;
import java.applet.*;
public class ParamPassing extends Applet {
String name;
String profession;
int age;
public void start() {
String str;
name = getParameter(“yourName”);
if (name == null) name = “not found”;
str = getParameter(“yourProfession”);
if (str != null) profession = str;
© Oxford University Press 2013. All rights reserved.
Param Tag Example (contd.)
else profession = “No job”;
str = getParameter(“yourAge”);
try {
if (str != null)
age = Integer.parseInt(str);
else age = 0;
} catch (NumberFormatException e) {}
}
public void paint(Graphics g) {
g.drawString(“your name: “+name, 10, 10);
g.drawString(“your profession: “+profession, 10, 30);
g.drawString(“your age: “ +age, 10, 50);
}}
© Oxford University Press 2013. All rights reserved.
The Output
© Oxford University Press 2013. All rights reserved.
getDocumentBase() and getCodeBase()
• getDocumentBase() returns the URL of the directory
that holds the HTML file responsible for starting the
applet in the form of URL object
• getCodeBase() returns the URL object of the
directory from where the class file of the applet is
loaded.
© Oxford University Press 2013. All rights reserved.
Graphics class
© Oxford University Press 2013. All rights reserved.
© Oxford University Press 2013. All rights reserved.
© Oxford University Press 2013. All rights reserved.
import java.awt.* ;
import java.applet.* ;
public class DrawLineRect extends Applet {
public void paint(Graphics g){
g.drawRect(10,60,40,30);
g.fillRect(60,10,30,80);
g.fillOval(140,160,170,170);
g.drawRoundRect(10,100,80,50,10,10);
g.fillRoundRect(20,110,60,30,5,5);
g.drawArc(280,210,250,220,30,90);
g.drawLine(100,10,230,140);
g.drawLine(100,140,230,10);
}}
© Oxford University Press 2013. All rights reserved.
The Output
© Oxford University Press 2013. All rights reserved.
Font & Color class
Constructors of Color class
© Oxford University Press 2013. All rights reserved.
© Oxford University Press 2013. All rights reserved.
/*<applet code=ColorFont.class width=600 height = 270 > < / applet >*/
import java.awt.*;
public class ColorFont extends java.applet.Applet{
public void init() {
Color color1 = new Color(230, 220, 0);
setBackground(color1);}
public void paint(Graphics g) {
String str = “”;
String FontList[];
GraphicsEnvironment ge =
GraphicsEnvironment.getLocalGraphicsEnvironment();
FontList = ge.getAvailableFontFamilyNames();
for (int i =0; i<FontList.length; i++) {
g.drawString(“FONTS AVAILABLE ARE:”, 5, 30);
str += FontList[i] + “, “;
© Oxford University Press 2013. All rights reserved.
Example (contd.)
g.drawString(str,5, 50);}
Color color2 = new Color(235, 50, 50);
g.setColor(color2);
g.drawString(“Hey Look!!!”, 5, 180);
Font currentFont = new Font(“TimesRoman”, Font.PLAIN, 20);
g.setFont(currentFont);
g.drawString(“This is an example”, 5, 220);
currentFont = new Font(“TimesRoman”, Font.ITALIC, 40);
g.setFont(currentFont);
g.drawString(“You must have understood.....”, 5, 260);}}
© Oxford University Press 2013. All rights reserved.
The Output
© Oxford University Press 2013. All rights reserved.
Summary
• Applets are small programs which can be downloaded from a remote
server in its bytecode form and executed on the client, to do a specific job.
• In Java, applets can be dealt in two ways.
• conventional applet, which use Abstract Window Toolkit (AWT) to get the
GUI features.
• Other use SWINGS, These applets can be executed on the clients, with the
help of either a Java enabled browser or a utility known as appletviewer
• Applets have a proper life cycle in which an applet moves from one state
to other.
• These states of applet life cycle are: Born, Running, Idle, and Dead.
• methods such as init(), start(), stop(), and destroy() are respectively called
to force an applet to different state.
• We have given you an insight of how to handle images and audio files and
have a basic understanding of graphics.
• We have also seen How to use Threads in Applets.
Ad

Recommended

Arrays in Java
Arrays in Java
Naz Abdalla
 
Applet life cycle
Applet life cycle
myrajendra
 
MULTI THREADING IN JAVA
MULTI THREADING IN JAVA
VINOTH R
 
Inheritance in JAVA PPT
Inheritance in JAVA PPT
Pooja Jaiswal
 
java interface and packages
java interface and packages
VINOTH R
 
Threads in JAVA
Threads in JAVA
Haldia Institute of Technology
 
Java abstract class & abstract methods
Java abstract class & abstract methods
Shubham Dwivedi
 
Basics of Object Oriented Programming in Python
Basics of Object Oriented Programming in Python
Sujith Kumar
 
Java Tokens
Java Tokens
Madishetty Prathibha
 
Type casting in java
Type casting in java
Farooq Baloch
 
While , For , Do-While Loop
While , For , Do-While Loop
Abhishek Choksi
 
Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)
Dyah Fajar Nur Rohmah
 
JAVA AWT
JAVA AWT
shanmuga rajan
 
Constructor in java
Constructor in java
Pavith Gunasekara
 
Static Members-Java.pptx
Static Members-Java.pptx
ADDAGIRIVENKATARAVIC
 
Multithreading in java
Multithreading in java
Arafat Hossan
 
Templates in C++
Templates in C++
Tech_MX
 
Java thread life cycle
Java thread life cycle
Archana Gopinath
 
Java interfaces
Java interfaces
Raja Sekhar
 
class and objects
class and objects
Payel Guria
 
07. Virtual Functions
07. Virtual Functions
Haresh Jaiswal
 
Java: GUI
Java: GUI
Tareq Hasan
 
Basic Graphics in Java
Basic Graphics in Java
Prakash Kumar
 
Classes, objects in JAVA
Classes, objects in JAVA
Abhilash Nair
 
Cursors
Cursors
Priyanka Yadav
 
Access modifiers in java
Access modifiers in java
Madishetty Prathibha
 
Inheritance in java
Inheritance in java
Tech_MX
 
Control Statements in Java
Control Statements in Java
Niloy Saha
 
Applet progming
Applet progming
VIKRANTHMALLIKARJUN
 
L18 applets
L18 applets
teach4uin
 

More Related Content

What's hot (20)

Java Tokens
Java Tokens
Madishetty Prathibha
 
Type casting in java
Type casting in java
Farooq Baloch
 
While , For , Do-While Loop
While , For , Do-While Loop
Abhishek Choksi
 
Chapter2 Encapsulation (Java)
Chapter2 Encapsulation (Java)
Dyah Fajar Nur Rohmah
 
JAVA AWT
JAVA AWT
shanmuga rajan
 
Constructor in java
Constructor in java
Pavith Gunasekara
 
Static Members-Java.pptx
Static Members-Java.pptx
ADDAGIRIVENKATARAVIC
 
Multithreading in java
Multithreading in java
Arafat Hossan
 
Templates in C++
Templates in C++
Tech_MX
 
Java thread life cycle
Java thread life cycle
Archana Gopinath
 
Java interfaces
Java interfaces
Raja Sekhar
 
class and objects
class and objects
Payel Guria
 
07. Virtual Functions
07. Virtual Functions
Haresh Jaiswal
 
Java: GUI
Java: GUI
Tareq Hasan
 
Basic Graphics in Java
Basic Graphics in Java
Prakash Kumar
 
Classes, objects in JAVA
Classes, objects in JAVA
Abhilash Nair
 
Cursors
Cursors
Priyanka Yadav
 
Access modifiers in java
Access modifiers in java
Madishetty Prathibha
 
Inheritance in java
Inheritance in java
Tech_MX
 
Control Statements in Java
Control Statements in Java
Niloy Saha
 

Similar to java programming - applets (20)

Applet progming
Applet progming
VIKRANTHMALLIKARJUN
 
L18 applets
L18 applets
teach4uin
 
Applets
Applets
Nuha Noor
 
Applet in java new
Applet in java new
Kavitha713564
 
Applets
Applets
Inayat Sharma
 
Applets
Applets
Abhishek Khune
 
Applets(1)cusdhsiohisdhfshihfsihfohf.ppt
Applets(1)cusdhsiohisdhfshihfsihfohf.ppt
Vijay Bhaskar Thatty
 
Appletsbjhbjiibibibikbibibjibjbibbjb.ppt
Appletsbjhbjiibibibikbibibjibjbibbjb.ppt
Vijay Bhaskar Thatty
 
Applets
Applets
SanthiNivas
 
Applets
Applets
poojapainter
 
Java applet
Java applet
GaneshKumarKanthiah
 
27 applet programming
27 applet programming
Ravindra Rathore
 
Applets in java
Applets in java
Wani Zahoor
 
oops with java modules iii & iv.pptx
oops with java modules iii & iv.pptx
rani marri
 
Introduction To Applets methods and simple examples
Introduction To Applets methods and simple examples
MsPariyalNituLaxman
 
Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01
Abhishek Khune
 
Applet ppt for higher understanding education
Applet ppt for higher understanding education
BhanuPriya93439
 
Basic of Applet
Basic of Applet
suraj pandey
 
Applet intro
Applet intro
Nitin Birari
 
Java: Java Applets
Java: Java Applets
Tareq Hasan
 
Ad

More from HarshithaAllu (13)

Environmenal protection
Environmenal protection
HarshithaAllu
 
Ch5 inheritance
Ch5 inheritance
HarshithaAllu
 
Social project work-political parties
Social project work-political parties
HarshithaAllu
 
ROLE OF PRINT MEDIA IN FREEDOM STRUGGLE
ROLE OF PRINT MEDIA IN FREEDOM STRUGGLE
HarshithaAllu
 
Operating system
Operating system
HarshithaAllu
 
GETTING STARTED WITH JAVA(beginner)
GETTING STARTED WITH JAVA(beginner)
HarshithaAllu
 
introduction to oops presentation
introduction to oops presentation
HarshithaAllu
 
PRAGRAMMING IN JAVA (BEGINNER)
PRAGRAMMING IN JAVA (BEGINNER)
HarshithaAllu
 
Structure of neuron
Structure of neuron
HarshithaAllu
 
Hyper text transport protocol
Hyper text transport protocol
HarshithaAllu
 
PRESSENTATION SKILLS
PRESSENTATION SKILLS
HarshithaAllu
 
IR remote sensing technology
IR remote sensing technology
HarshithaAllu
 
Closed loop (automated) insulin delivery
Closed loop (automated) insulin delivery
HarshithaAllu
 
Environmenal protection
Environmenal protection
HarshithaAllu
 
Social project work-political parties
Social project work-political parties
HarshithaAllu
 
ROLE OF PRINT MEDIA IN FREEDOM STRUGGLE
ROLE OF PRINT MEDIA IN FREEDOM STRUGGLE
HarshithaAllu
 
GETTING STARTED WITH JAVA(beginner)
GETTING STARTED WITH JAVA(beginner)
HarshithaAllu
 
introduction to oops presentation
introduction to oops presentation
HarshithaAllu
 
PRAGRAMMING IN JAVA (BEGINNER)
PRAGRAMMING IN JAVA (BEGINNER)
HarshithaAllu
 
Hyper text transport protocol
Hyper text transport protocol
HarshithaAllu
 
PRESSENTATION SKILLS
PRESSENTATION SKILLS
HarshithaAllu
 
IR remote sensing technology
IR remote sensing technology
HarshithaAllu
 
Closed loop (automated) insulin delivery
Closed loop (automated) insulin delivery
HarshithaAllu
 
Ad

Recently uploaded (20)

Automated Testing and Safety Analysis of Deep Neural Networks
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
University Campus Navigation for All - Peak of Data & AI
University Campus Navigation for All - Peak of Data & AI
Safe Software
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Heat Treatment Process Automation in India
Heat Treatment Process Automation in India
Reckers Mechatronics
 
How Automation in Claims Handling Streamlined Operations
How Automation in Claims Handling Streamlined Operations
Insurance Tech Services
 
HYBRIDIZATION OF ALKANES AND ALKENES ...
HYBRIDIZATION OF ALKANES AND ALKENES ...
karishmaduhijod1
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 
Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
arctitecture application system design os dsa
arctitecture application system design os dsa
za241967
 
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Muhammad Fahad Bashir
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
Jamie Coleman
 
Automated Testing and Safety Analysis of Deep Neural Networks
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
University Campus Navigation for All - Peak of Data & AI
University Campus Navigation for All - Peak of Data & AI
Safe Software
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Heat Treatment Process Automation in India
Heat Treatment Process Automation in India
Reckers Mechatronics
 
How Automation in Claims Handling Streamlined Operations
How Automation in Claims Handling Streamlined Operations
Insurance Tech Services
 
HYBRIDIZATION OF ALKANES AND ALKENES ...
HYBRIDIZATION OF ALKANES AND ALKENES ...
karishmaduhijod1
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 
Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
Introduction to Agile Frameworks for Product Managers.pdf
Introduction to Agile Frameworks for Product Managers.pdf
Ali Vahed
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
arctitecture application system design os dsa
arctitecture application system design os dsa
za241967
 
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Test Case Design Techniques – Practical Examples & Best Practices in Software...
Muhammad Fahad Bashir
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
Jamie Coleman
 

java programming - applets

  • 1. © Oxford University Press 2013. All rights reserved. Programming in Java, 2e Sachin Malhotra Saurabh Choudhary
  • 2. © Oxford University Press 2013. All rights reserved. Chapter 12 Applets
  • 3. © Oxford University Press 2013. All rights reserved. Objectives • Understand the difference between applet and application • Understand the lifecycle of an applet • Learn how applets are created and executed • create Shapes within applets • Use Images in Applets • Use Threads in Applet and create a Digital clock
  • 4. © Oxford University Press 2013. All rights reserved. Introduction • Applet is small java programs, which can be easily transported over the network from one computer to other. • used in internet applications, • embedded in an html page, can be downloaded from the server and run on the client, so as to do a specific kind of job.
  • 5. © Oxford University Press 2013. All rights reserved. Difference between an applet and application
  • 6. APPLET CLASS • java.applet.Applet is the super class of the all the applets. • Applet class has a predefined hierarchy
  • 7. Few methods of Applet class
  • 8. © Oxford University Press 2013. All rights reserved. Applet Structure
  • 9. © Oxford University Press 2013. All rights reserved. Applet Example import java.applet.*; import java.awt.*; public class FirstApplet extends Applet { public void paint(Graphics g) { g.drawString(“applet demo”, 10,20); } }
  • 10. © Oxford University Press 2013. All rights reserved. Running an Applet • There are two ways to run the applet. 1. Add the applet tag within the body of the html tag <HTML><BODY> <APPLET code = "FirstApplet.class" WIDTH = 200 HEIGHT = 150></APPLET> </BODY></HTML> You can execute the HTML file by giving appletviewer FirstApplet.html
  • 11. © Oxford University Press 2013. All rights reserved. Running an Applet (contd.) 2. Add the Applet tag as a comment in the java source file In order to run the applet You have to give the below HTML coding as a comment in the source file : /* <APPLET code = "FirstApplet.class" WIDTH = 200 HEIGHT = 150></APPLET> */ Execute the applet as: appletviewer FirstApplet.java
  • 12. © Oxford University Press 2013. All rights reserved. The Output
  • 13. © Oxford University Press 2013. All rights reserved. Applet Life cycle • An applet may move from one state to another depending upon a set of default behaviour inherited in the form of methods from ‘Applet’ class. • These states are – Born – Running – Idle – Dead
  • 14. © Oxford University Press 2013. All rights reserved. Applet State Diagram
  • 15. © Oxford University Press 2013. All rights reserved. Life cycle of Applet • init() – – creates the objects needed by the applet; – sets up initial values, load font and images or set up colors. – called only once during the lifetime of on Applet. • start() – moves to this phase automatically after the initialization state. – if the applet is stopped or it goes to idle state, start() method must be called in order to force the applet again to the running state. • paint() – This method is called each time to draw and redraw the output of an applet. • stop() – idle state, once it is stopped from running • destroy() – An applet goes to dead state when it is destroyed by invoking the destroy() method of Applet class. – It results in complete removal of applet from the memory.
  • 16. © Oxford University Press 2013. All rights reserved. Common Methods • drawString(): – member of Graphics class, used to output a string to an applet. – It is typically called from within the paint() or update() method. – void drawString(String msg,int a, int b) • setBackground() & getBackground() – belongs to Component class, used to set and get the background color. – void setBackground(Color anyColor) – predefined constants for each color, such as Color.red can be used. • setForeground() & get Foreground() – set and gets the color of the text to be displayed on the foreground of the applet window. – void setForeground(Color anyColor) • showStatus() – display any string in the status window of the browser – void showStatus(String text)
  • 17. © Oxford University Press 2013. All rights reserved. Example /* <APPLET code = “ExampleApplet.class” WIDTH = 200 HEIGHT = 150></APPLET> */ import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; public class ExampleApplet extends Applet{ String text; public void init() { setBackground(Color.white); setForeground(Color.red); text = “This is an example applet”; System.out.println(“....Initialized the applet”);} public void start() { System.out.println(“....Starting of the applet”);}
  • 18. © Oxford University Press 2013. All rights reserved. Example (contd.) public void stop() { System.out.println(“....Stopping the applet”);} public void destroy() { System.out.println(“....Exiting the applet”); } public void paint(Graphics g) { System.out.println(“....Painting the applet”); g.drawString(text, 30, 30); showStatus(“This is status bar”); }}
  • 20. Colour for Background and Font • Color.black • Color.blue • Color.cyan • Color.darkGray • Color.magenta • Color.orange • Color.pink • Color.red • Color.gray • Color.green • Color.lightGray • Color.white • Color.yellow © Oxford University Press 2013. All rights reserved.
  • 21. © Oxford University Press 2013. All rights reserved. Paint, update & repaint • All components and containers in the JDK have two methods that are called by the system to paint their surface. – public void paint(Graphics g); – public void update(Graphics g); • If you wish that a drawing should appear in a window, you shall override either or both of the methods. • paint() – for drawing/redrawing paint() method is called. – The component draws itself when it first becomes visible. – The component paint() method is also invoked when the window containing it is uncovered, if it is covered by another window.
  • 22. © Oxford University Press 2013. All rights reserved. Example /* <APPLET code = “FillOval.class” WIDTH = 200 HEIGHT = 200></APPLET> */ import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; public class FillOval extends Applet{ public void paint(Graphics g) { g.setColor(Color.red); g.fillOval(20, 20, 60, 60); } }
  • 23. © Oxford University Press 2013. All rights reserved. The Output
  • 24. © Oxford University Press 2013. All rights reserved. update() method • It clears the surface of the calling component to its background color and then calls the paint() method to paint the rest of the component. • It makes the job easier because one does not have to draw the whole component within a paint() method, as the background is already filled. Then, when one overrides paint(), he/she only needs to draw what should appear on the foreground.
  • 25. © Oxford University Press 2013. All rights reserved. repaint() method • if you have changed certain properties of a component to reflect its new appearance, you can call the repaint() method. – text.setBackground(Color.blue); – text.repaint(); • Calling the repaint() method causes the whole component to be repainted. • repaint() in its default implementation calls update() which in turn calls paint(). • repaint() method requests the AWT to call update and it returns. The AWT combines multiple rapid repaint requests into one request (usually this happens when you repaint inside a loop). So the last repaint in the sequence actually causes paint().
  • 26. © Oxford University Press 2013. All rights reserved. Applet Tag
  • 27. © Oxford University Press 2013. All rights reserved. Applet Tag • CODEBASE - specifies the URL of the directory where the executable class file of the applet will be searched for. • CODE - It gives the name of the file containing the applet’s compiled class file. • ALT - specifies the alternate short text message that should be displayed in case the browser recognizes the HTML tag but cannot actually run the applet because of some reason. • NAME - give a name to an applet’s instance • WIDTH - gives the width of the applet display area in terms of pixels. • HEIGHT - gives the height of the applet display area in terms of pixels. • ALIGN - set the alignment of an applet. The alignment can be set as LEFT, RIGHT, TOP, BOTTOM, MIDDLE, BASELINE, TEXTTOP, ABSMIDDLE, and ABSBOTTOM. • VSPACE - used to specify the space, in pixels, above and below the applet.
  • 28. © Oxford University Press 2013. All rights reserved. Applet tag (contd.) • HSPACE – These are used to specify the space, in pixels, on each side of the applet. • PARAM sub tag – provides information about parameters, or arguments, to be used by the Java applet. – The <PARAM> tag is simple—it NAMES a parameter and provides a VALUE for that parameter. – This tag has two attributes • NAME: attribute name • VALUE: value of the attribute named by corresponding PARAM NAME. – The applets access their attributes using the getParameter() method. – String getParameter(String name);
  • 29. © Oxford University Press 2013. All rights reserved. Param tag Example /*<APPLET CODE = ParamPassing.class WIDTH = 300 HEIGHT = 250> <param NAME = yourName VALUE = John> <param NAME = yourProfession VALUE = consultant> <param NAME = yourAge VALUE = 35> </applet>*/ import java.awt.*; import java.applet.*; public class ParamPassing extends Applet { String name; String profession; int age; public void start() { String str; name = getParameter(“yourName”); if (name == null) name = “not found”; str = getParameter(“yourProfession”); if (str != null) profession = str;
  • 30. © Oxford University Press 2013. All rights reserved. Param Tag Example (contd.) else profession = “No job”; str = getParameter(“yourAge”); try { if (str != null) age = Integer.parseInt(str); else age = 0; } catch (NumberFormatException e) {} } public void paint(Graphics g) { g.drawString(“your name: “+name, 10, 10); g.drawString(“your profession: “+profession, 10, 30); g.drawString(“your age: “ +age, 10, 50); }}
  • 31. © Oxford University Press 2013. All rights reserved. The Output
  • 32. © Oxford University Press 2013. All rights reserved. getDocumentBase() and getCodeBase() • getDocumentBase() returns the URL of the directory that holds the HTML file responsible for starting the applet in the form of URL object • getCodeBase() returns the URL object of the directory from where the class file of the applet is loaded.
  • 33. © Oxford University Press 2013. All rights reserved. Graphics class
  • 34. © Oxford University Press 2013. All rights reserved.
  • 35. © Oxford University Press 2013. All rights reserved.
  • 36. © Oxford University Press 2013. All rights reserved. import java.awt.* ; import java.applet.* ; public class DrawLineRect extends Applet { public void paint(Graphics g){ g.drawRect(10,60,40,30); g.fillRect(60,10,30,80); g.fillOval(140,160,170,170); g.drawRoundRect(10,100,80,50,10,10); g.fillRoundRect(20,110,60,30,5,5); g.drawArc(280,210,250,220,30,90); g.drawLine(100,10,230,140); g.drawLine(100,140,230,10); }}
  • 37. © Oxford University Press 2013. All rights reserved. The Output
  • 38. © Oxford University Press 2013. All rights reserved. Font & Color class Constructors of Color class
  • 39. © Oxford University Press 2013. All rights reserved.
  • 40. © Oxford University Press 2013. All rights reserved. /*<applet code=ColorFont.class width=600 height = 270 > < / applet >*/ import java.awt.*; public class ColorFont extends java.applet.Applet{ public void init() { Color color1 = new Color(230, 220, 0); setBackground(color1);} public void paint(Graphics g) { String str = “”; String FontList[]; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); FontList = ge.getAvailableFontFamilyNames(); for (int i =0; i<FontList.length; i++) { g.drawString(“FONTS AVAILABLE ARE:”, 5, 30); str += FontList[i] + “, “;
  • 41. © Oxford University Press 2013. All rights reserved. Example (contd.) g.drawString(str,5, 50);} Color color2 = new Color(235, 50, 50); g.setColor(color2); g.drawString(“Hey Look!!!”, 5, 180); Font currentFont = new Font(“TimesRoman”, Font.PLAIN, 20); g.setFont(currentFont); g.drawString(“This is an example”, 5, 220); currentFont = new Font(“TimesRoman”, Font.ITALIC, 40); g.setFont(currentFont); g.drawString(“You must have understood.....”, 5, 260);}}
  • 42. © Oxford University Press 2013. All rights reserved. The Output
  • 43. © Oxford University Press 2013. All rights reserved. Summary • Applets are small programs which can be downloaded from a remote server in its bytecode form and executed on the client, to do a specific job. • In Java, applets can be dealt in two ways. • conventional applet, which use Abstract Window Toolkit (AWT) to get the GUI features. • Other use SWINGS, These applets can be executed on the clients, with the help of either a Java enabled browser or a utility known as appletviewer • Applets have a proper life cycle in which an applet moves from one state to other. • These states of applet life cycle are: Born, Running, Idle, and Dead. • methods such as init(), start(), stop(), and destroy() are respectively called to force an applet to different state. • We have given you an insight of how to handle images and audio files and have a basic understanding of graphics. • We have also seen How to use Threads in Applets.