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
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 themain()
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 theinit()
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
, where x1 and y1 are the starting
width,int height)
point coordinates and width and height are the
measurements for rectangle - To draw a RoundRect use
drawRoundRect(int x1,int y1,int
, where x1 and y1
width,int height,width1,height1)
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
, where x1 and y1 are the coordinates of the top
height)
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
, where x1 and y1 are the
height,angle1 ,angle2)
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.
- Declare the Font Name, style and the size using the Font
Constructor. - 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
Label()
– Creates an empty labelLabel(String)
– Creates a label with the given stringLabel(String, align)
– Creates a string label with the
specified alignment (RIGHT,LEFT,CENTER)
Usage of Button
Button()
– Creates a button without a labelButton(String str)
– Creates a button with the string
Usage of Checkbox()
Checkbox()
– Creates a checkbox without a labelCheckbox(String str)
– Creates a checkbox with a string
label in it
Usage of CheckboxGroup
- 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
TextField()
– Creates a empty Text FieldTextField(String str)
– Creates a Text Field with the
specified StringTextField(String str,align)
– Creates a Text Field with the
specified String with the alignment- The
setText()
method is used in connection with the Text
Fields. For instance, to set a text in Choice to the
text field, the methodsetText()
method is used
Usage of Text Area
TextArea()
– Creates empty Text AreaTextArea(rows,charcters)
– Creates empty Text Area, with
the specified rows and charcters.TextArea(String str,rows,charcters)
– Creates a default
String Text Area, with the specified rows and charcters
Usage of Choice
- Create a Choice object (
Choice c = new Choice()
) - Add the individual items to the Choice by
add
method and
connecting the Choice object - Finally, add the choice object to the container.
Choice ch = new Choice(); ch.add("Java"),
ch.add("XML"); add(ch)
Usage of Lists
- Create a List Object (
List l = new List()
) - Add the individual items to the List by
add
method and
connecting the List object - 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
-
Find the Layout Manager and
Instantiate it by using their Constructors -
Associate the manager with the components
in the Container. -
The Layout Manager is set by
setLayout()
method. -
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
-
Each Component can be placed on the
border of a container. -
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
-
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
creates a Grid containing the specified
horz,int vert)
spaces between the Grid.
Card
Layout
-
Unique among other Layout managers
-
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
-
The Panel is also a container.
-
The Panel can contain UI Components and
other Containers. -
The general Constructor is
Panel p1 = new
.
Panel() -
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.