JavaJava Applet Basics

Java Applet Basics

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Introduction
Life Cycle,Graphics, etc.
User Interface Components
Layout Managers

Part I

Introduction

This tutorial assumes that you know fundamentals of Java
application programming. However, I’ll offer some important
notes for the beginners among you.

To compile and execute Java programs, you should install
Java Development Kit (JDK) Version 1.2 or higher (recommended).
You can use older versions of the JDK, but this tutorial is being prepared
for use with JDK 1.2 or higher. You can download the
JDK from Sun’s Website free of cost.
You can also get the JDK through some Java textBooks. Just
double-click the setup file and proceed with the installation.

After installing the JDK, you have to set the correct path
in order to work with Java programs. For setting the path,
execute the MSCONFIG.exe (System Configuration utility) Program from the start-run menu.
Press the autoexec.bat tab and click on the New button.
Type in the following command: set path=c:jdk1.2bin;%path%.
You have to substitute the correct version of the drive and
the JDK version number. I’ll assume that the JDK is in C: Drive and the
version is 1.2.

Anyway, you can also use the above command everytime you
practice Java programming, but it is recommended to follow the above
procedure. Also supply the Doskey command (in autoexec.bat) so that you have to type
in each command at the command prompt only once. Just press the up and down
arrow keys to retrieve your earlier command (earlier in the sense of the current session).

You can write code using Notepad or MSDOS Editor (supply EDIT Command at the DOS
prompt). However, Notepad is the most preferred editor among most programmers.
Save your files with .java extensions. Compile the program using javac .java.
Execute your applet using the appletviewer utitlity included with the JDK
or open the corresponding htm or htm file in a browser.

Overview

  • Java programs consists of applications and applets.
  • Applications are executed from MSDOS prompt by using the
    interpreter
  • Applets are executed with the help of the appletviewer
    utility or the Net browser.
  • Compilation stages are same in both the cases.

What are Applets

  • Applets are dynamic (animations and graphics).
  • Applets are interactive programs (via GUI components).

What you need to execute an Applet

  • Browser (IE 4.0 or Netscape Navigator 4.0 or higher)
  • Appletviewer utility in the JDK.

Features of an Applet

  • Provides facility for frames
  • Event handling facility and userInteraction
  • GUI user interface
  • Graphics and multimedia

Your First Applet

Type in the following code using any text editor or in DOS
editor.

import java.awt.* 
import java.applet.*;
public classhello extends Applet { 
public void paint(Graphics g) { 
g.drawString("Welcome to Java Applets",20,20); } } 

Save the file as hello.java and
compile it by using javac. Now, type in the following HTML code in
your editor and save the file as hello.html

<applet code =
"classhello.class" width = 200 height =
150></applet>

Execute the HTML file by giving
appletviewer hello.html. Another way to run the applet is to give
the above HTML coding as a comment after the two import
statements. Execute the applet as appletviewer hello.java

Concepts and Explanation

  • All applets are the subclasses of Applet class. All
    applets must import the java.applet package
  • The Paint() method is defined by AWT Component class. It
    takes one parameter of type Graphics.
  • The drawString is the member of the Graphics class of the
    AWT package.
  • This method is responsible for printing the String
    "welcome to java applets".

Facts

  • Applets do not begin execution at main() method. However,
    it is possible to execute the applets by using the Java
    interpreter (by using the main() method) if you extend your
    class with Frame.
  • I/O Streams do not provide much scope for applets.
  • It is not possible for an applet to access the files on
    the users hard disk.
  • It is not possible to access the source code of the
    applets. It can be accessed only from the original
    server.

Part II

Life Cycle, Graphics, Fonts, Colors

Life Cycle of an Applet

Method Class Description
init() Applet First method to be called,
initialize variables in this method
start() Applet Called when restarted after
being stopped.occurs after init()
stop() Applet Called when the applet leaves
the webpage
destroy() Applet Called when the applet wants
to be removed out of memory
paint() Component Called when the applet needs
to be drawn

The repaint() method – If the applet wants to be repainted again, then
this method is called. Useful for animation purposes.

Parameter Passing

  • Use a special parameter tag <param> in the HTML
    file. This tag takes two attributes, namely Name and Value.
  • Use a method getParameter() inside the init() method,
    which takes one argument (i.e., the string representing the
    name of the parameter being looked for). Give this name a
    value in the HTML coding.

Graphics Class

  • Graphics class in the java.awt package contains methods
    for drawing strings, lines and rectangles, ovals, polygon,
    fill rect, fill oval, etc.

Methods

  • To draw a string use the drawString(String str,int X,int Y)
    method, where str is the name of the string and X and Y
    are the coordinates for where the string is to be printed.
  • To draw a line use drawLine(int x1,int y1,int x2,int y2),
    where x1 and y1 are the starting point coordinates
    and x2 and y2 are the ending point coordinates.
  • To draw a rectangle use drawRect(int x1,int y1,int
    width,int height)
    , where x1 and y1 are the starting
    point coordinates and width and height are the
    measurements for rectangle
  • To draw a RoundRect use drawRoundRect(int x1,int y1,int
    width,int height,width1,height1)
    , where x1 and y1
    are the starting point coordinates and width and height
    are the measurements for rectangle and width1 and height1
    are the angles of the corners.
  • To draw an oval use drawOval(int x1,int y1,int width,int
    height)
    , where x1 and y1 are the coordinates of the top
    corners and width and height are the respective
    measurements of the oval.
  • To draw an arc use drawArc(int x1,int y1,int width,int
    height,angle1 ,angle2)
    , where x1 and y1 are the
    coordinates of the top corners and width and height are
    the respective measurements of the arc and angle1 and
    angle2 are the starting arc and ending arcs (in
    degrees).

Font Class

  • The Font class in the java.awt package
    contains methods for displaying fonts.

  1. Declare the Font Name, style and the size using the Font
    Constructor.
  2. Finally, pass the font’s object by using the setFont
    method in the java.awt package.

Sample

Font f = new Font("Courier",Font.BOLD+Font.Italic,
16); ||||| g.setFont(f);

Color Class

  • The Color class in the java.awt package contains methods
    for dealing with colors.

Methods

  • setColor(Color.gray) sets the string color to gray .
  • setBackground(Color.red) sets the background color to
    red.

Part III

User Interface Components

The Class Hierachy

Usage of Label

  1. Label() – Creates an empty label
  2. Label(String) – Creates a label with the given string
  3. Label(String, align) – Creates a string label with the
    specified alignment (RIGHT,LEFT,CENTER)

Usage of Button

  1. Button() – Creates a button without a label
  2. Button(String str) – Creates a button with the string

Usage of Checkbox()

  1. Checkbox() – Creates a checkbox without a label
  2. Checkbox(String str) – Creates a checkbox with a string
    label in it

Usage of CheckboxGroup

  1. Create a Checkbox Group and add the group’s object to the
    individual checkboxes to get a radio-button style of
    interface. Only one box can be selected at a time.

Usage of TextField

  1. TextField() – Creates a empty Text Field
  2. TextField(String str) – Creates a Text Field with the
    specified String
  3. TextField(String str,align) – Creates a Text Field with the
    specified String with the alignment
  4. The setText() method is used in connection with the Text
    Fields. For instance, to set a text in Choice to the
    text field, the method setText() method is used

Usage of Text Area

  1. TextArea() – Creates empty Text Area
  2. TextArea(rows,charcters) – Creates empty Text Area, with
    the specified rows and charcters.
  3. TextArea(String str,rows,charcters) – Creates a default
    String Text Area, with the specified rows and charcters

Usage of Choice

  1. Create a Choice object (Choice c = new Choice() )
  2. Add the individual items to the Choice by add method and
    connecting the Choice object
  3. Finally, add the choice object to the container.
  • Choice ch = new Choice(); ch.add("Java"),
    ch.add("XML"); add(ch)

Usage of Lists

  1. Create a List Object (List l = new List() )
  2. Add the individual items to the List by add method and
    connecting the List object
  3. Finally, add the List object to the Container.
  • You can select multiple items from the list box. But
    only one from a Choice.
  • The setEditable(Boolean) method is used to edit the text
    inside a choice component.

All these above components together form a GUI Interface. You
can create any type of user-friendly applications you want by making
use of the above components. In the next section, we will take a
look at Layout Mangers in Java, with which you can
dynamically place the above components at your desired location.

Part IV

Layout Managers

The
Concept

You can place the components according to your
taste and position by using Layout Managers. The basic Layout
Managers include Flow Layout, Border Layout, and Grid Layout.

Basic Steps to be
Followed

  1. Find the Layout Manager and
    Instantiate it by using their Constructors

  2. Associate the manager with the components
    in the Container.

  3. The Layout Manager is set by setLayout()
    method.

  4. If no layout manager is specified, then
    the default manager is taken.

Flow
Layout

  • Default Layout Manager works like a
    typical word processor from Left to right.

  • Flow Layout() creates a default
    layout centered and leaves a position of 5 pixels of
    space between each Component.

  • Flow Layout( int how) creates a layout
    with the specified alignment (LEFT,RIGHT,CENTER).

  • Flow Layout(int how,int h,int v) creates
    a layout with the specified spaces.

Border
Layout

  1. Each Component can be placed on the
    border of a container.

  2. With Border Layout the placement of the
    component is specified as North, South, East, and West.

  • Border Layout() creates a default Border
    Layout.

  • Border Layout(int horz,int vert) leaves
    the specified spaces between components.

Grid
Layout

  1. Lays out component in a two-dimensional
    grid

  • Grid Layout() – creates single
    column grid layout.

  • Grid Layout(num rows ,num cols) creates a
    Grid containing the specified rows and columns. For
    example, Grid Layout(3,3) creates a 3 x 3 Grid.

  • Grid Layout(num rows,num cols,int
    horz,int vert)
    creates a Grid containing the specified
    spaces between the Grid.

Card
Layout

  1. Unique among other Layout managers

  2. Each layout is a separate index card in a
    deck that can be shuffled so that any card is on the
    top at a given time.

Panels

  1. The Panel is also a container.

  2. The Panel can contain UI Components and
    other Containers.

  3. The general Constructor is Panel p1 = new
    Panel()
    .

  4. The add() method of the Container Class
    can be used to add a Component to the Panel.

Glossary

GUI: A graphical user interface. It is an interface
to the Windows operating system. It includes user friendly
controls, like Buttons, textfields for entering text, message boxes, etc.

AWT: The Abstract Windowing Toolkit. It is a package in JavaAPI and
consists of Graphics, Font, color, Image, etc. classes.
You have to call this package by using the import keyword (import java.awt.*). if
You are using methods and interfaces from this package.

LABEL: It denotes uneditable text.

BUTTON: It is a standard control found in Windows.

CHECKBOX: It consist of a set of items. Users can select one or more items
at a time.

CHECKBOXGROUP: It denotes a radio (small, black circle shape) button.
Users can select only one item at a time.

TEXTFIELD: Users can enter information in the the boxes. You can enter in one
single line.

TEXTAREA: By using this control, users can enter multiple lines of text.

CHOICE: This component is the same as combo box. When a user clicks on the
dropdown arrow, she will get a list of items, only one item is selectable at a time.

LIST: This is a variation of the above component. Users can select multiple items
at a time.

About the Author

Anand Narayanaswamy is a
graduate of the University of Kerala. He is currently working
as an instructor teaching Java, Visual Basic, and technologies such as ASP
and XML. He enjoys learning new programming languages like C#. Currently,
Anand lives in Thiruvananthapuram, Kerala State, India. He can be contacted via
his Website.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories