SlideShare a Scribd company logo
https://www.facebook.com/Oxus20 
oxus20@gmail.com 
Java Applet & Graphics 
Java Applet 
Java Graphics 
Analog Clock 
Prepared By: Khosrow Kian 
Edited By: Abdul Rahman Sherzad
Table of Contents 
»Java Applet 
˃Introduction and Concept 
˃Demos 
»Graphics 
˃Introduction and Concept 
»Java Applet Code 
2 
https://www.facebook.com/Oxus20
Java Applet 
»An applet is a subclass of Panel 
˃It is a container which can hold GUI components 
˃It has a graphics context which can be used to draw images 
»An applet embedded within an HTML page 
˃Applets are defined using the <applet> tag 
˃Its size and location are defined within the tag 
»Java Virtual Machine is required for the browsers to execute the applet 
3 
https://www.facebook.com/Oxus20
Java Applets vs. Applications 
»Applets - Java programs that can run over the Internet using a browser. 
˃The browser either contains a JVM (Java Virtual Machine) or loads the Java plugin 
˃Applets do not require a main(), but in general will have a paint(). 
˃An Applet also requires an HTML file before it can be executed. 
˃Java Applets are also compiled using the javac command, but are run either with a browser or with the applet viewer command. 
»Applications - Java programs that run directly on your machine. 
˃Applications must have a main(). 
˃Java applications are compiled using the javac command and run using the java command. 
4 
https://www.facebook.com/Oxus20
Java Applets vs. Applications 
Feature 
Application 
Applet 
main() method 
Present 
Not present 
Execution 
Requires JRE 
Requires a browser like Chrome, Firefox, IE, Safari, Opera, etc. 
Nature 
Called as stand-alone application as application can be executed from command prompt 
Requires some third party tool help like a browser to execute 
Restrictions 
Can access any data or software available on the system 
cannot access any thing on the system except browser’s services 
Security 
Does not require any security 
Requires highest security for the system as they are untrusted 
5 
https://www.facebook.com/Oxus20
Java Applet Advantages 
»Execution of applets is easy in a Web browser and does not require any installation or deployment procedure in real-time programming. 
»Writing and displaying (just opening in a browser) graphics and animations is easier than applications. 
»In GUI development, constructor, size of frame, window closing code etc. are not required. 
6 
https://www.facebook.com/Oxus20
Java Applet Methods 
»init() 
˃Called when applet is loaded onto user’s machine. 
»start() 
˃Called when applet becomes visible (page called up). 
»stop() 
˃Called when applet becomes hidden (page loses focus). 
»destroy() 
˃Guaranteed to be called when browser shuts down. 
7 
https://www.facebook.com/Oxus20
Introduction to Java Graphics 
»Java contains support for graphics that enable programmers to visually enhance applications 
»Java contains many more sophisticated drawing capabilities as part of the Java 2D API 
˃Color 
˃Font and FontMetrics 
˃Graphics2D 
˃Polygon 
˃BasicStroke 
˃GradientPaint and TexturePaint 
˃Java 2D shape classes 
8 
https://www.facebook.com/Oxus20
9 
https://www.facebook.com/Oxus20
Java Coordinate System 
»Upper-Left Corner of a GUI component has the coordinates (0, 0) 
»X-Coordinate (horizontal coordinate) 
˃horizontal distance moving right from the left of the screen 
»Y-Coordinate (vertical coordinate) 
˃vertical distance moving down from the top of the screen 
»Coordinate units are measured in pixels. 
˃A pixel is a display monitor’s smallest unit of resolution. 
https://www.facebook.com/Oxus20 
10
All Roads Lead to JComponent 
»Every Swing object inherits from JComponent 
» JComponent has a few methods that can be overridden in order to draw special things 
˃public void paint(Graphics g) 
˃public void paintComponent(Graphics g) 
˃public void repaint() 
»So if we want custom drawing, we take any JComponent and extend it... 
˃JPanel is a good choice 
11 
https://www.facebook.com/Oxus20
Draw Line Example 
import java.awt.Graphics; 
import javax.swing.JApplet; 
public class DrawLine extends JApplet { 
@Override 
public void init() { 
} 
public void paint(Graphics g){ 
g.drawLine(20,20, 100,100); 
} 
} 
https://www.facebook.com/Oxus20 
12
Draw Rectangles Example 
import java.awt.Graphics; 
import javax.swing.JApplet; 
public class DrawRect extends JApplet { 
@Override 
public void init() { 
super.init(); 
} 
public void paint(Graphics g) { 
g.drawRect(20, 20, 100, 100); 
g.fillRect(130, 20, 100, 100); 
g.drawRoundRect(240, 20, 100, 100, 10, 10); 
} 
} 
https://www.facebook.com/Oxus20 
13
Draw Ovals Example 
import java.awt.Graphics; 
import javax.swing.JApplet; 
public class DrawOval extends JApplet { 
@Override 
public void init() { 
} 
public void paint(Graphics g) { 
g.drawOval(20, 20, 100, 100); 
g.fillOval(130, 20, 100, 100); 
} 
} 
https://www.facebook.com/Oxus20 
14
Simple Calculator Example 
import java.applet.Applet; 
import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.Font; 
import java.awt.GridLayout; 
import java.awt.Panel; 
import java.awt.TextField; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
public class Calculator extends Applet implements ActionListener { 
String operators[] = { "+", "-", "*", "/", "=", "C" }; 
String operator = ""; 
int previousValue = 0; 
Button buttons[] = new Button[16]; 
TextField txtResult = new TextField(10); 
15 
https://www.facebook.com/Oxus20
public void init() { 
setLayout(new BorderLayout()); 
add(txtResult, "North"); 
txtResult.setText("0"); 
Panel p = new Panel(); 
p.setLayout(new GridLayout(4, 4)); 
for (int i = 0; i < 16; i++) { 
if (i < 10) { 
buttons[i] = new Button(String.valueOf(i)); 
} else { 
buttons[i] = new Button(operators[i % 10]); 
} 
buttons[i].setFont(new Font("Verdana", Font.BOLD, 18)); 
p.add(buttons[i]); 
add(p, "Center"); 
buttons[i].addActionListener(this); 
} 
} 
16 
https://www.facebook.com/Oxus20
public void actionPerformed(ActionEvent ae) { 
int result = 0; 
String caption = ae.getActionCommand(); 
int currentValue = Integer.parseInt(txtResult.getText()); 
if (caption.equals("C")) { 
txtResult.setText("0"); 
previousValue = 0; 
currentValue = 0; 
result = 0; 
operator = ""; 
} else if (caption.equals("=")) { 
result = 0; 
if (operator == "+") 
result = previousValue + currentValue; 
else if (operator == "-") 
result = previousValue - currentValue; 
else if (operator == "*") 
result = previousValue * currentValue; 
else if (operator == "/") 
result = previousValue / currentValue; 
txtResult.setText(String.valueOf(result)); 
} 
17 
https://www.facebook.com/Oxus20
End - Simple Calculator Example 
else if (caption.equals("+") || caption.equals("-") 
|| caption.equals("*") || caption.equals("/")) { 
previousValue = currentValue; 
operator = caption; 
txtResult.setText("0"); 
} else { 
int value = currentValue * 10 + Integer.parseInt(caption); 
txtResult.setText(String.valueOf(value)); 
} 
} 
} 
18 
https://www.facebook.com/Oxus20
OUTPUT - Simple Calculator Example 
19 
https://www.facebook.com/Oxus20
Example of Graphics and Applet 
20 
https://www.facebook.com/Oxus20
Analog Clock Example 
21 
https://www.facebook.com/Oxus20 
import java.applet.Applet; 
import java.awt.BasicStroke; 
import java.awt.Color; 
import java.awt.Font; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.util.Calendar; 
public class AnalogClock extends Applet implements Runnable { 
private static final long serialVersionUID = 1L; 
private static final double TWO_PI = 2.0 * Math.PI; 
private Calendar nw = Calendar.getInstance(); 
int width = 200, hight = 200; 
int xcent = width / 2, ycent = hight / 2; 
int minhand, maxhand; 
double rdns; 
int dxmin, dymin, dxmax, dymax; 
double radins, sine, cosine; 
double fminutes; 
Thread t = null; 
Boolean stopFlag;
22 
https://www.facebook.com/Oxus20 
public void start() { 
t = new Thread(this); 
stopFlag = false; 
t.start(); 
} 
public void run() { 
for (;;) { 
try { 
updateTime(); 
repaint(); 
Thread.sleep(1000); 
if (stopFlag) 
break; 
} catch (InterruptedException e) { 
} 
} 
} 
public void stop() { 
stopFlag = true; 
t = null; 
} 
private void updateTime() { 
nw.setTimeInMillis(System.currentTimeMillis()); 
}
23 
https://www.facebook.com/Oxus20 
public void paint(Graphics g) { 
g.setFont(new Font("Gabriola", Font.BOLD + Font.ITALIC, 160)); 
g.setColor(Color.RED); 
g.drawString("XUS", 300, 270); 
g.setFont(new Font("Consolas", Font.BOLD + Font.ITALIC, 100)); 
g.setColor(Color.GREEN); 
g.drawString("20", 550, 270); 
g.setColor(Color.black); 
g.fillOval(100, 100, 200, 200); 
Graphics2D g1 = (Graphics2D) g; 
int hours = nw.get(Calendar.HOUR); 
int minutes = nw.get(Calendar.MINUTE); 
int seconds = nw.get(Calendar.SECOND); 
int millis = nw.get(Calendar.MILLISECOND); 
minhand = width / 8; 
maxhand = width / 2; 
rdns = (seconds + ((double) millis / 1000)) / 60.0; 
drw(g1, rdns, 0, maxhand - 20); 
g1.setColor(Color.BLUE); 
g1.drawString( 
String.format("%02d : %02d :%02d ", hours, minutes, seconds), 
minhand + 150, maxhand + 170);
24 
https://www.facebook.com/Oxus20 
minhand = 0; // Minute hand starts in middle. 
maxhand = width / 3; 
fminutes = (minutes + rdns) / 60.0; 
drw(g1, fminutes, 0, maxhand); 
minhand = 0; // Minute hand starts in middle. 
maxhand = width / 4; 
drw(g1, (hours + fminutes) / 12.0, 0, maxhand); 
g1.setColor(Color.gray); // set b ackground of circle 
g1.drawOval(100, 100, 200, 200); // draw a circle 
g1.setColor(Color.WHITE); 
g1.setFont(new Font("Consulas", Font.BOLD + Font.ITALIC, 15)); 
g1.drawString("12", 190, 120); 
g1.drawString("6", 195, 290); 
g1.drawString("3", 280, 200); 
g1.drawString("6", 110, 200); 
g1.setFont(new Font("Consulas", Font.BOLD + Font.ITALIC, 15)); 
g1.setStroke(new BasicStroke(2, BasicStroke.JOIN_MITER, 
BasicStroke.JOIN_BEVEL)); 
}
End - Analog Clock Example 
public void drw(Graphics2D g, double prct, int minRadius, int maxRadius) { 
radins = (0.5 - prct) * TWO_PI; 
sine = Math.sin(radins); 
cosine = Math.cos(radins); 
dxmin = xcent + (int) (minRadius * sine); 
dymin = ycent + (int) (minRadius * cosine); 
dxmax = xcent + (int) (maxRadius * sine); 
dymax = ycent + (int) (maxRadius * cosine); 
g.setColor(Color.WHITE); 
g.setBackground(Color.cyan); 
g.setFont(new Font("Consulas", Font.BOLD + Font.ITALIC, 12)); 
g.drawLine(dxmin + 100, dymin + 100, dxmax + 100, dymax + 100); 
} 
} 
25 
https://www.facebook.com/Oxus20
OUTPUT - Analog Clock Example 
26 
https://www.facebook.com/Oxus20
END 
https://www.facebook.com/Oxus20 
27

More Related Content

PDF
PPTX
Function in C program
PPTX
Garbage collection
PPT
Data Storage In Android
PPTX
java interface and packages
PDF
Intents in Android
PDF
Python - gui programming (tkinter)
PPTX
Interface in java
Function in C program
Garbage collection
Data Storage In Android
java interface and packages
Intents in Android
Python - gui programming (tkinter)
Interface in java

What's hot (20)

PPTX
class and objects
PPTX
Android Intent.pptx
PPTX
Packages in java
PDF
Android intents
PPT
Java applets
DOC
Time and space complexity
PPTX
Pointers in c++
PPTX
Constructor in java
PPTX
JAVA AWT
PPT
Java Presentation
PPTX
Method overloading
PPT
Applet life cycle
PPTX
PPTX
File in C language
PPS
Java Exception handling
PPTX
JavaScript Promises
PDF
Constructors and Destructors
PPTX
Multithreading in java
class and objects
Android Intent.pptx
Packages in java
Android intents
Java applets
Time and space complexity
Pointers in c++
Constructor in java
JAVA AWT
Java Presentation
Method overloading
Applet life cycle
File in C language
Java Exception handling
JavaScript Promises
Constructors and Destructors
Multithreading in java
Ad

Viewers also liked (20)

PDF
27 applet programming
PPT
Java applets
PPT
Applet and graphics programming
PPT
java graphics
PPT
Graphics programming in Java
PPTX
6.applet programming in java
PPT
Applet Architecture - Introducing Java Applets
PPS
PPTX
Applets in java
PPT
Java And Multithreading
PPTX
java Unit4 chapter1 applets
PPT
Client Side Programming with Applet
PPTX
Exception handling in java
PPTX
Satish training ppt
PPT
JavaYDL13
PPT
Basics of applets.53
DOCX
Srgoc java
PPT
L5 classes, objects, nested and inner class
PPT
exception handling
27 applet programming
Java applets
Applet and graphics programming
java graphics
Graphics programming in Java
6.applet programming in java
Applet Architecture - Introducing Java Applets
Applets in java
Java And Multithreading
java Unit4 chapter1 applets
Client Side Programming with Applet
Exception handling in java
Satish training ppt
JavaYDL13
Basics of applets.53
Srgoc java
L5 classes, objects, nested and inner class
exception handling
Ad

Similar to Java Applet and Graphics (20)

PPT
first-applet
PPT
Session4 applets
PPTX
Applet in java new
PPT
Applets - lev' 2
PPTX
Introduction To Applets methods and simple examples
PPT
Applet ppt for higher understanding education
PPT
Introduction to Java Applet and Life cycle of an Applet
PPTX
PPT
java programming - applets
PPTX
PPTX
U5 JAVA.pptx
PPTX
PPT
9781111530532 ppt ch12
PDF
Unit 5 Java Programming with Linux-converted.pdf
PPT
JavaYDL18
PPT
JAVA APPLET BASICS
PPT
Chapter 12
PPTX
JavaAdvUnit-1.pptx
PPTX
java_for_future_15-Multithreaded-Graphics.pptx
PDF
GUI.pdf
first-applet
Session4 applets
Applet in java new
Applets - lev' 2
Introduction To Applets methods and simple examples
Applet ppt for higher understanding education
Introduction to Java Applet and Life cycle of an Applet
java programming - applets
U5 JAVA.pptx
9781111530532 ppt ch12
Unit 5 Java Programming with Linux-converted.pdf
JavaYDL18
JAVA APPLET BASICS
Chapter 12
JavaAdvUnit-1.pptx
java_for_future_15-Multithreaded-Graphics.pptx
GUI.pdf

More from Abdul Rahman Sherzad (20)

PDF
Data is the Fuel of Organizations: Opportunities and Challenges in Afghanistan
PDF
PHP Unicode Input Validation Snippets
PDF
Iterations and Recursions
PDF
Sorting Alpha Numeric Data in MySQL
PDF
PHP Variable variables Examples
PDF
Cross Join Example and Applications
PDF
Applicability of Educational Data Mining in Afghanistan: Opportunities and Ch...
PDF
Web Application Security and Awareness
PDF
Database Automation with MySQL Triggers and Event Schedulers
PDF
Mobile Score Notification System
PDF
Herat Innovation Lab 2015
PDF
Evaluation of Existing Web Structure of Afghan Universities
PDF
PHP Basic and Fundamental Questions and Answers with Detail Explanation
PDF
Fundamentals of Database Systems Questions and Answers
PDF
Everything about Database JOINS and Relationships
PDF
Create Splash Screen with Java Step by Step
PDF
Fal-e-Hafez (Omens of Hafez) Cards in Persian using Java
PDF
Web Design and Development Life Cycle and Technologies
PDF
Java Virtual Keyboard Using Robot, Toolkit and JToggleButton Classes
PDF
Java Unicode with Live GUI Examples
Data is the Fuel of Organizations: Opportunities and Challenges in Afghanistan
PHP Unicode Input Validation Snippets
Iterations and Recursions
Sorting Alpha Numeric Data in MySQL
PHP Variable variables Examples
Cross Join Example and Applications
Applicability of Educational Data Mining in Afghanistan: Opportunities and Ch...
Web Application Security and Awareness
Database Automation with MySQL Triggers and Event Schedulers
Mobile Score Notification System
Herat Innovation Lab 2015
Evaluation of Existing Web Structure of Afghan Universities
PHP Basic and Fundamental Questions and Answers with Detail Explanation
Fundamentals of Database Systems Questions and Answers
Everything about Database JOINS and Relationships
Create Splash Screen with Java Step by Step
Fal-e-Hafez (Omens of Hafez) Cards in Persian using Java
Web Design and Development Life Cycle and Technologies
Java Virtual Keyboard Using Robot, Toolkit and JToggleButton Classes
Java Unicode with Live GUI Examples

Recently uploaded (20)

PPTX
Cell Structure & Organelles in detailed.
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Lesson notes of climatology university.
PPTX
master seminar digital applications in india
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Pre independence Education in Inndia.pdf
PPTX
Institutional Correction lecture only . . .
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Insiders guide to clinical Medicine.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
01-Introduction-to-Information-Management.pdf
Cell Structure & Organelles in detailed.
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Lesson notes of climatology university.
master seminar digital applications in india
PPH.pptx obstetrics and gynecology in nursing
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Microbial diseases, their pathogenesis and prophylaxis
Pre independence Education in Inndia.pdf
Institutional Correction lecture only . . .
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
O7-L3 Supply Chain Operations - ICLT Program
Renaissance Architecture: A Journey from Faith to Humanism
102 student loan defaulters named and shamed – Is someone you know on the list?
Anesthesia in Laparoscopic Surgery in India
Insiders guide to clinical Medicine.pdf
VCE English Exam - Section C Student Revision Booklet
Microbial disease of the cardiovascular and lymphatic systems
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
01-Introduction-to-Information-Management.pdf

Java Applet and Graphics

  • 1. https://www.facebook.com/Oxus20 [email protected] Java Applet & Graphics Java Applet Java Graphics Analog Clock Prepared By: Khosrow Kian Edited By: Abdul Rahman Sherzad
  • 2. Table of Contents »Java Applet ˃Introduction and Concept ˃Demos »Graphics ˃Introduction and Concept »Java Applet Code 2 https://www.facebook.com/Oxus20
  • 3. Java Applet »An applet is a subclass of Panel ˃It is a container which can hold GUI components ˃It has a graphics context which can be used to draw images »An applet embedded within an HTML page ˃Applets are defined using the <applet> tag ˃Its size and location are defined within the tag »Java Virtual Machine is required for the browsers to execute the applet 3 https://www.facebook.com/Oxus20
  • 4. Java Applets vs. Applications »Applets - Java programs that can run over the Internet using a browser. ˃The browser either contains a JVM (Java Virtual Machine) or loads the Java plugin ˃Applets do not require a main(), but in general will have a paint(). ˃An Applet also requires an HTML file before it can be executed. ˃Java Applets are also compiled using the javac command, but are run either with a browser or with the applet viewer command. »Applications - Java programs that run directly on your machine. ˃Applications must have a main(). ˃Java applications are compiled using the javac command and run using the java command. 4 https://www.facebook.com/Oxus20
  • 5. Java Applets vs. Applications Feature Application Applet main() method Present Not present Execution Requires JRE Requires a browser like Chrome, Firefox, IE, Safari, Opera, etc. Nature Called as stand-alone application as application can be executed from command prompt Requires some third party tool help like a browser to execute Restrictions Can access any data or software available on the system cannot access any thing on the system except browser’s services Security Does not require any security Requires highest security for the system as they are untrusted 5 https://www.facebook.com/Oxus20
  • 6. Java Applet Advantages »Execution of applets is easy in a Web browser and does not require any installation or deployment procedure in real-time programming. »Writing and displaying (just opening in a browser) graphics and animations is easier than applications. »In GUI development, constructor, size of frame, window closing code etc. are not required. 6 https://www.facebook.com/Oxus20
  • 7. Java Applet Methods »init() ˃Called when applet is loaded onto user’s machine. »start() ˃Called when applet becomes visible (page called up). »stop() ˃Called when applet becomes hidden (page loses focus). »destroy() ˃Guaranteed to be called when browser shuts down. 7 https://www.facebook.com/Oxus20
  • 8. Introduction to Java Graphics »Java contains support for graphics that enable programmers to visually enhance applications »Java contains many more sophisticated drawing capabilities as part of the Java 2D API ˃Color ˃Font and FontMetrics ˃Graphics2D ˃Polygon ˃BasicStroke ˃GradientPaint and TexturePaint ˃Java 2D shape classes 8 https://www.facebook.com/Oxus20
  • 10. Java Coordinate System »Upper-Left Corner of a GUI component has the coordinates (0, 0) »X-Coordinate (horizontal coordinate) ˃horizontal distance moving right from the left of the screen »Y-Coordinate (vertical coordinate) ˃vertical distance moving down from the top of the screen »Coordinate units are measured in pixels. ˃A pixel is a display monitor’s smallest unit of resolution. https://www.facebook.com/Oxus20 10
  • 11. All Roads Lead to JComponent »Every Swing object inherits from JComponent » JComponent has a few methods that can be overridden in order to draw special things ˃public void paint(Graphics g) ˃public void paintComponent(Graphics g) ˃public void repaint() »So if we want custom drawing, we take any JComponent and extend it... ˃JPanel is a good choice 11 https://www.facebook.com/Oxus20
  • 12. Draw Line Example import java.awt.Graphics; import javax.swing.JApplet; public class DrawLine extends JApplet { @Override public void init() { } public void paint(Graphics g){ g.drawLine(20,20, 100,100); } } https://www.facebook.com/Oxus20 12
  • 13. Draw Rectangles Example import java.awt.Graphics; import javax.swing.JApplet; public class DrawRect extends JApplet { @Override public void init() { super.init(); } public void paint(Graphics g) { g.drawRect(20, 20, 100, 100); g.fillRect(130, 20, 100, 100); g.drawRoundRect(240, 20, 100, 100, 10, 10); } } https://www.facebook.com/Oxus20 13
  • 14. Draw Ovals Example import java.awt.Graphics; import javax.swing.JApplet; public class DrawOval extends JApplet { @Override public void init() { } public void paint(Graphics g) { g.drawOval(20, 20, 100, 100); g.fillOval(130, 20, 100, 100); } } https://www.facebook.com/Oxus20 14
  • 15. Simple Calculator Example import java.applet.Applet; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Font; import java.awt.GridLayout; import java.awt.Panel; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Calculator extends Applet implements ActionListener { String operators[] = { "+", "-", "*", "/", "=", "C" }; String operator = ""; int previousValue = 0; Button buttons[] = new Button[16]; TextField txtResult = new TextField(10); 15 https://www.facebook.com/Oxus20
  • 16. public void init() { setLayout(new BorderLayout()); add(txtResult, "North"); txtResult.setText("0"); Panel p = new Panel(); p.setLayout(new GridLayout(4, 4)); for (int i = 0; i < 16; i++) { if (i < 10) { buttons[i] = new Button(String.valueOf(i)); } else { buttons[i] = new Button(operators[i % 10]); } buttons[i].setFont(new Font("Verdana", Font.BOLD, 18)); p.add(buttons[i]); add(p, "Center"); buttons[i].addActionListener(this); } } 16 https://www.facebook.com/Oxus20
  • 17. public void actionPerformed(ActionEvent ae) { int result = 0; String caption = ae.getActionCommand(); int currentValue = Integer.parseInt(txtResult.getText()); if (caption.equals("C")) { txtResult.setText("0"); previousValue = 0; currentValue = 0; result = 0; operator = ""; } else if (caption.equals("=")) { result = 0; if (operator == "+") result = previousValue + currentValue; else if (operator == "-") result = previousValue - currentValue; else if (operator == "*") result = previousValue * currentValue; else if (operator == "/") result = previousValue / currentValue; txtResult.setText(String.valueOf(result)); } 17 https://www.facebook.com/Oxus20
  • 18. End - Simple Calculator Example else if (caption.equals("+") || caption.equals("-") || caption.equals("*") || caption.equals("/")) { previousValue = currentValue; operator = caption; txtResult.setText("0"); } else { int value = currentValue * 10 + Integer.parseInt(caption); txtResult.setText(String.valueOf(value)); } } } 18 https://www.facebook.com/Oxus20
  • 19. OUTPUT - Simple Calculator Example 19 https://www.facebook.com/Oxus20
  • 20. Example of Graphics and Applet 20 https://www.facebook.com/Oxus20
  • 21. Analog Clock Example 21 https://www.facebook.com/Oxus20 import java.applet.Applet; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.util.Calendar; public class AnalogClock extends Applet implements Runnable { private static final long serialVersionUID = 1L; private static final double TWO_PI = 2.0 * Math.PI; private Calendar nw = Calendar.getInstance(); int width = 200, hight = 200; int xcent = width / 2, ycent = hight / 2; int minhand, maxhand; double rdns; int dxmin, dymin, dxmax, dymax; double radins, sine, cosine; double fminutes; Thread t = null; Boolean stopFlag;
  • 22. 22 https://www.facebook.com/Oxus20 public void start() { t = new Thread(this); stopFlag = false; t.start(); } public void run() { for (;;) { try { updateTime(); repaint(); Thread.sleep(1000); if (stopFlag) break; } catch (InterruptedException e) { } } } public void stop() { stopFlag = true; t = null; } private void updateTime() { nw.setTimeInMillis(System.currentTimeMillis()); }
  • 23. 23 https://www.facebook.com/Oxus20 public void paint(Graphics g) { g.setFont(new Font("Gabriola", Font.BOLD + Font.ITALIC, 160)); g.setColor(Color.RED); g.drawString("XUS", 300, 270); g.setFont(new Font("Consolas", Font.BOLD + Font.ITALIC, 100)); g.setColor(Color.GREEN); g.drawString("20", 550, 270); g.setColor(Color.black); g.fillOval(100, 100, 200, 200); Graphics2D g1 = (Graphics2D) g; int hours = nw.get(Calendar.HOUR); int minutes = nw.get(Calendar.MINUTE); int seconds = nw.get(Calendar.SECOND); int millis = nw.get(Calendar.MILLISECOND); minhand = width / 8; maxhand = width / 2; rdns = (seconds + ((double) millis / 1000)) / 60.0; drw(g1, rdns, 0, maxhand - 20); g1.setColor(Color.BLUE); g1.drawString( String.format("%02d : %02d :%02d ", hours, minutes, seconds), minhand + 150, maxhand + 170);
  • 24. 24 https://www.facebook.com/Oxus20 minhand = 0; // Minute hand starts in middle. maxhand = width / 3; fminutes = (minutes + rdns) / 60.0; drw(g1, fminutes, 0, maxhand); minhand = 0; // Minute hand starts in middle. maxhand = width / 4; drw(g1, (hours + fminutes) / 12.0, 0, maxhand); g1.setColor(Color.gray); // set b ackground of circle g1.drawOval(100, 100, 200, 200); // draw a circle g1.setColor(Color.WHITE); g1.setFont(new Font("Consulas", Font.BOLD + Font.ITALIC, 15)); g1.drawString("12", 190, 120); g1.drawString("6", 195, 290); g1.drawString("3", 280, 200); g1.drawString("6", 110, 200); g1.setFont(new Font("Consulas", Font.BOLD + Font.ITALIC, 15)); g1.setStroke(new BasicStroke(2, BasicStroke.JOIN_MITER, BasicStroke.JOIN_BEVEL)); }
  • 25. End - Analog Clock Example public void drw(Graphics2D g, double prct, int minRadius, int maxRadius) { radins = (0.5 - prct) * TWO_PI; sine = Math.sin(radins); cosine = Math.cos(radins); dxmin = xcent + (int) (minRadius * sine); dymin = ycent + (int) (minRadius * cosine); dxmax = xcent + (int) (maxRadius * sine); dymax = ycent + (int) (maxRadius * cosine); g.setColor(Color.WHITE); g.setBackground(Color.cyan); g.setFont(new Font("Consulas", Font.BOLD + Font.ITALIC, 12)); g.drawLine(dxmin + 100, dymin + 100, dxmax + 100, dymax + 100); } } 25 https://www.facebook.com/Oxus20
  • 26. OUTPUT - Analog Clock Example 26 https://www.facebook.com/Oxus20