SlideShare una empresa de Scribd logo
1 de 25
1
A Simple Applet
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
 An application is a Java program that runs all by itself
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
4
The Applet class
 To create an applet, you must import the Applet class
 This class is in the java.applet package
 The Applet class contains code that works with a
browser to create a display window
 Capitalization matters!
 applet and Applet are different names
5
Importing the Applet class
 Here is the directive that you need:
import java.applet.Applet;
 import is a keyword
 java.applet is the name of the package
 A dot ( . ) separates the package from the class
 Applet is the name of the class
 There is a semicolon ( ; ) at the end
6
The java.awt package
 “awt” stands for “Abstract Window Toolkit”
 The java.awt package includes classes for:
 Drawing lines and shapes
 Drawing letters
 Setting colors
 Choosing fonts
 If it’s drawn on the screen, then java.awt is
probably involved!
7
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
8
C and C++ programmers only
 C and C++ have an #include directive that copies a
library function into your program
 This makes your program bigger
 Java’s import gives you access to the library
 It does not make your program bigger
 It’s OK to use lots of include directives!
9
The applet so far
import java.applet.Applet;
import java.awt.*;
10
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 of
Applet, but with added capabilities
 Java’s 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
11
The applet so far
import java.applet.Applet;
import java.awt.*;
// CIT 591 example
public class Drawing extends Applet {
…we still need to put some code in here...
}
12
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
 paint doesn’t return any result
13
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 doesn’t remember what you
have painted)
14
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…
}
}
15
Colors
 The java.awt package defines a class named Color
 There are 13 predefined colors—here 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.GREEN
Color.DARK_GRAY Color.RED Color.CYAN
Color.GRAY Color.ORANGE Color.BLUE
Color.LIGHT_GRAY Color.YELLOW
Color.WHITE Color.MAGENTA
16
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)
 We are mixing lights, not pigments
 Yellow is red + green, or (255, 255, 0)
17
Setting a color
 To use a color, we tell our Graphics g what color we
want:
g.setColor(Color.RED);
 g will remember this color and use it for everything
until we tell it some different color
18
The paint method so far
public void paint(Graphics g) {
g.setColor(Color.BLUE);
…draw a rectangle…
g.setColor(Color.RED);
…draw another rectangle…
}
}
19
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
20
Java’s 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)
21
Drawing rectangles
 There are two ways to draw rectangles:
 g.drawRect( left , top , width , height );
 g.fillRect(left , top , width , height );
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);
}
}
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 );
24
The HTML page
 You can only run an applet in an HTML page
 The HTML looks something like this:
 <html>
<body>
<h1>DrawingApplet Applet</h1>
<applet code="DrawingApplet.class"
width="250" height="200">
</applet>
</body>
</html>
 BlueJ will create this HTML for you
25
The End

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Applet in java
Applet in javaApplet in java
Applet in java
 
Graphics programming in Java
Graphics programming in JavaGraphics programming in Java
Graphics programming in Java
 
27 applet programming
27  applet programming27  applet programming
27 applet programming
 
Applet programming
Applet programming Applet programming
Applet programming
 
Java applets
Java appletsJava applets
Java applets
 
6.applet programming in java
6.applet programming in java6.applet programming in java
6.applet programming in java
 
Applet life cycle
Applet life cycleApplet life cycle
Applet life cycle
 
Java applets
Java appletsJava applets
Java applets
 
Java applets
Java appletsJava applets
Java applets
 
Java Applet and Graphics
Java Applet and GraphicsJava Applet and Graphics
Java Applet and Graphics
 
ITFT- Applet in java
ITFT- Applet in javaITFT- Applet in java
ITFT- Applet in java
 
Client Side Programming with Applet
Client Side Programming with AppletClient Side Programming with Applet
Client Side Programming with Applet
 
Applets in Java
Applets in JavaApplets in Java
Applets in Java
 
JAVA APPLETS
JAVA APPLETSJAVA APPLETS
JAVA APPLETS
 
Java applet basics
Java applet basicsJava applet basics
Java applet basics
 
java Applet Introduction
java Applet Introductionjava Applet Introduction
java Applet Introduction
 
JAVA APPLET BASICS
JAVA APPLET BASICSJAVA APPLET BASICS
JAVA APPLET BASICS
 
Applet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java AppletsApplet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java Applets
 
Applets in java
Applets in javaApplets in java
Applets in java
 
Applets
AppletsApplets
Applets
 

Similar a first-applet

Applets - lev' 2
Applets - lev' 2Applets - lev' 2
Applets - lev' 2Rakesh T
 
oops with java modules iii & iv.pptx
oops with java modules iii & iv.pptxoops with java modules iii & iv.pptx
oops with java modules iii & iv.pptxrani marri
 
Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01Abhishek Khune
 
Applet and graphics programming
Applet and graphics programmingApplet and graphics programming
Applet and graphics programmingsrijavel
 
Java Programming for Designers
Java Programming for DesignersJava Programming for Designers
Java Programming for DesignersR. Sosa
 
Applets 101-fa06
Applets 101-fa06Applets 101-fa06
Applets 101-fa06nrayan
 
Core java over view basics introduction by quontra solutions
Core java over view basics introduction by quontra solutionsCore java over view basics introduction by quontra solutions
Core java over view basics introduction by quontra solutionsQUONTRASOLUTIONS
 

Similar a first-applet (20)

Applets - lev' 2
Applets - lev' 2Applets - lev' 2
Applets - lev' 2
 
Applet in java new
Applet in java newApplet in java new
Applet in java new
 
oops with java modules iii & iv.pptx
oops with java modules iii & iv.pptxoops with java modules iii & iv.pptx
oops with java modules iii & iv.pptx
 
Basic of Applet
Basic of AppletBasic of Applet
Basic of Applet
 
Smart material - Unit 3 (2).pdf
Smart material - Unit 3 (2).pdfSmart material - Unit 3 (2).pdf
Smart material - Unit 3 (2).pdf
 
Smart material - Unit 3 (1).pdf
Smart material - Unit 3 (1).pdfSmart material - Unit 3 (1).pdf
Smart material - Unit 3 (1).pdf
 
Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01Slide8appletv2 091028110313-phpapp01
Slide8appletv2 091028110313-phpapp01
 
GUI.pdf
GUI.pdfGUI.pdf
GUI.pdf
 
Unit 7 Java
Unit 7 JavaUnit 7 Java
Unit 7 Java
 
Java applet
Java appletJava applet
Java applet
 
AdvancedJava.pptx
AdvancedJava.pptxAdvancedJava.pptx
AdvancedJava.pptx
 
Applet and graphics programming
Applet and graphics programmingApplet and graphics programming
Applet and graphics programming
 
Java Applet
Java AppletJava Applet
Java Applet
 
Java Programming for Designers
Java Programming for DesignersJava Programming for Designers
Java Programming for Designers
 
JAVA PPT -5 BY ADI.pdf
JAVA PPT -5 BY ADI.pdfJAVA PPT -5 BY ADI.pdf
JAVA PPT -5 BY ADI.pdf
 
Applets 101-fa06
Applets 101-fa06Applets 101-fa06
Applets 101-fa06
 
JavaAdvUnit-1.pptx
JavaAdvUnit-1.pptxJavaAdvUnit-1.pptx
JavaAdvUnit-1.pptx
 
Javalecture 1
Javalecture 1Javalecture 1
Javalecture 1
 
Core java over view basics introduction by quontra solutions
Core java over view basics introduction by quontra solutionsCore java over view basics introduction by quontra solutions
Core java over view basics introduction by quontra solutions
 
Applet
AppletApplet
Applet
 

Más de Mohit Patodia

Más de Mohit Patodia (13)

Services marketing mohit
Services marketing mohit Services marketing mohit
Services marketing mohit
 
C intro
C introC intro
C intro
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Basic computer maintenance
Basic computer maintenanceBasic computer maintenance
Basic computer maintenance
 
Android
AndroidAndroid
Android
 
Internet
InternetInternet
Internet
 
A quick introduction to c programming
A quick introduction to c programmingA quick introduction to c programming
A quick introduction to c programming
 
cloud computing
cloud computingcloud computing
cloud computing
 
the computer generations
the computer generationsthe computer generations
the computer generations
 
intel ignite refresh_rmd
intel ignite refresh_rmdintel ignite refresh_rmd
intel ignite refresh_rmd
 
inheritance
inheritanceinheritance
inheritance
 
self motivate
self motivateself motivate
self motivate
 
role of it in supply chain mangment system
role of it in supply chain mangment systemrole of it in supply chain mangment system
role of it in supply chain mangment system
 

Último

ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 

Último (20)

ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 

first-applet

  • 2. 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  An application is a Java program that runs all by itself
  • 3. 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
  • 4. 4 The Applet class  To create an applet, you must import the Applet class  This class is in the java.applet package  The Applet class contains code that works with a browser to create a display window  Capitalization matters!  applet and Applet are different names
  • 5. 5 Importing the Applet class  Here is the directive that you need: import java.applet.Applet;  import is a keyword  java.applet is the name of the package  A dot ( . ) separates the package from the class  Applet is the name of the class  There is a semicolon ( ; ) at the end
  • 6. 6 The java.awt package  “awt” stands for “Abstract Window Toolkit”  The java.awt package includes classes for:  Drawing lines and shapes  Drawing letters  Setting colors  Choosing fonts  If it’s drawn on the screen, then java.awt is probably involved!
  • 7. 7 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
  • 8. 8 C and C++ programmers only  C and C++ have an #include directive that copies a library function into your program  This makes your program bigger  Java’s import gives you access to the library  It does not make your program bigger  It’s OK to use lots of include directives!
  • 9. 9 The applet so far import java.applet.Applet; import java.awt.*;
  • 10. 10 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 of Applet, but with added capabilities  Java’s 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
  • 11. 11 The applet so far import java.applet.Applet; import java.awt.*; // CIT 591 example public class Drawing extends Applet { …we still need to put some code in here... }
  • 12. 12 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  paint doesn’t return any result
  • 13. 13 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 doesn’t remember what you have painted)
  • 14. 14 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… } }
  • 15. 15 Colors  The java.awt package defines a class named Color  There are 13 predefined colors—here 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.GREEN Color.DARK_GRAY Color.RED Color.CYAN Color.GRAY Color.ORANGE Color.BLUE Color.LIGHT_GRAY Color.YELLOW Color.WHITE Color.MAGENTA
  • 16. 16 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)  We are mixing lights, not pigments  Yellow is red + green, or (255, 255, 0)
  • 17. 17 Setting a color  To use a color, we tell our Graphics g what color we want: g.setColor(Color.RED);  g will remember this color and use it for everything until we tell it some different color
  • 18. 18 The paint method so far public void paint(Graphics g) { g.setColor(Color.BLUE); …draw a rectangle… g.setColor(Color.RED); …draw another rectangle… } }
  • 19. 19 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
  • 20. 20 Java’s 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)
  • 21. 21 Drawing rectangles  There are two ways to draw rectangles:  g.drawRect( left , top , width , height );  g.fillRect(left , top , width , height );
  • 22. 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); } }
  • 23. 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 );
  • 24. 24 The HTML page  You can only run an applet in an HTML page  The HTML looks something like this:  <html> <body> <h1>DrawingApplet Applet</h1> <applet code="DrawingApplet.class" width="250" height="200"> </applet> </body> </html>  BlueJ will create this HTML for you