SlideShare a Scribd company logo
1 of 109
Advanced Java Programming:
(17625)
1
Teaching and Examination Scheme
2
AJP: Chapter
3
Chapter # Chapter Name Marks (As per Syllabus)
01
Introductionto Abstract Windowing
Toolkit(AWT) & Swings
24
02 Event Handling 20
03 Networking& Security 16
04 Interacting with Database 20
05 Servlets & JSP 20
Introduction toAbstract
Windowing Toolkit
(AWT) & Swings
24 Marks
4
SpecificObjectives
• To design and develop Graphical User Interface
(GUI) programs using AWT and Swing
component.
• To arrange the
layout.
GUI components using different
5
GUI (Graphical User Interface)
• GUI offers user interaction via some graphical
components.
Window, frame, Panel, Button, Textfield, TextArea,
Listbox, Combobox, Label, Checkbox etc.
Using these components we can create an interactive
user interface for an application.
GUI provides result to end user in response to raised
event.
GUI is entirely based event.
•
•
•
•
6
GUI (Graphical User Interface)
button menus title bar menu bar combo box
scroll
bars
7
AWT (Abstract Window
Toolkit)
• AWT contains numerous classes and methods
that allow you to create and manage window.
import java.awt.*;
Java AWT is an API to develop GUI or window-
based application in java.
Java AWT components are platform-dependent
i.e. components are displayed according to the
view of operating system.
AWT is heavyweight i.e. its components uses the
resources of system.
•
•
•
• 8
AWT Class Hierarchy
9
AWT Class Hierarchy : Detailed
10
Checkbox, Choice,
Label, List, Scrollbar,
ScrollPane, TextArea,
TextField
AWT Class Hierarchy : Detailed
11
Component
• Component is an object having a graphical
representation that can be displayed on the screen
and that can interact with the user.
At the top of the AWT hierarchy is the Component
class.
It is abstract class that encapsulates all of the
attributes of a visual component.
It defines over a hundred public methods that are
responsible for managing events, such as mouse
and keyboard input, positioning and sizing the
window, and repainting.
•
•
•
12
Component
• Which object is responsible for remembering the current
foreground and background colors and the currently selected
text font? (Answer: Componenet)
•
•
It extends: Object Class
Implements: ImageObserver, MenuContainer, Serializable
13
Container
Container class is a subclass of Component.
Provided additional methods that allow other
Component to place on it.
Which (Container) is responsible for laying out (that
is, positioning) any components that it contains.
It does this through the use of various layout
managers.
•
•
•
•
14
Container
Container is a component in AWT that can contain
another components like buttons, text fields, labels
etc.
•
• The classes that extends Container class are known as
container such as Frame, Dialog and Panel.
15
Containers and Components
• The job of a Container is to hold and display
Components
• Some common subclasses of Component are
Button, Checkbox, Label, Scrollbar, TextField, and
TextArea
• A Container is also a Component
• Some Container subclasses are Panel (and Applet,
JApplet), Window (Frame, JFrame) 16
Panel
• Panel is a concrete subclass of Container.
• It doesn’t add any new methods which simply implements
Container.
• Panel is the immediate superclass of Applet. When screen
output is directed to an applet, it is drawn on the surface of
Panel object.
a
17
Panel
Panel is one type of container that does not contain a title
bar, menu bar, or border.
•
• When you run an applet using an applet viewer, the
viewer provides the title and border.
applet
• Uses add() to add component defined by container.
• Uses setSize(), setLocation(), setBounds() defined by
Component.
18
An Applet is
Container
java.lang.Object
|
Panel is a
+----java.awt.Component
|
+----java.awt.Container
|
+----java.awt.Panel
|
+----java.applet.Applet
…so you can display things in anApplet
19
Applets
• Applet is a public class which is predefined
java.applet.Applet.
There is no main() method in Applet like
Application program. The main() method is
by browser or Appletviewer for Applet.
Life cycle methods: init, start, paint, stop,
by
•
defined
•
•
destroy
Applet is one type of container and subclass of
Panel. Applet is superclass of JApplet
20
To create an applet
•
•
•
•
•
•
import
Import
Applet
java.applet.*;
java.awt.*;
code in comment.
Extends Applet class
Life cycle method
Class must be public
21
Example: A "Life" applet
Container (Applet)
Containers (Panels)
Component (Canvas)
Components (Buttons)
Components (T
extFields)
Components (Labels)
22
Window
Creates top-level window means directly on
the desktop.
Don’t create Window objects directly.
The window is the container that have no
borders and menu bars.
•
•
•
• Uses Frame, Dialog class which is subclass
Window class for creating window.
of
23
Frame
It is subclass of Window and has a title bar, menu bar,
borders, and resizing corners.
Frame object can be created from program or Applet.
Through Applet: Warning message will display “Java
Applet Window”.
•
•
•
• Through Program
created.
or Application: Normal window is
24
Workingwith
Extends Frame class
Constructor are:
• Frame()
• Frame(String title)
Frame Window
•
•
• Setting and Getting window size:
•
•
•
void setSize(int width, int height)
void setSize(Dimension newsize)
Dimension getSize()
• Showing and Hiding Frame
• void setVisible(boolean visibleFlag)
25
Workingwith Frame
Setting title to frame
• void setTitle(String title)
Closing Frame: Four Ways
Window
•
•
•
•
•
•
Implements WindowListener interface.
Extends WindowAdapter class.
WindowAdapter Inner class.
WindowAdapter anonymous inner classes.
26
AWT Controlsand Layout
Manager
interact with application.
• AWT Controls: Component which allows you to
•
•
•
•
•
•
•
Labels
Button
Checkbox
Checkbox
Scrollbars
Text field
Text Area
group
27
Some
Label
types of components
Checkbox
Button
Scrollbar
Choice
T
extField List T
extArea
Button
28
Checkbox
CheckboxGroup
AWT Controlsand Layout
Manager
container
.
• Layout Manager: Positioning the components in the
•
•
•
•
•
Flow Layout
Border Layout
Grid Layout
Card Layout
Grid Bag Layout
• Menubars, menus, dialog boxes, file dialog. 29
AWT Controls:
Allows user to interact with application.
Adding the control in Window
•
•
•
•
•
First create instance of control.
Call add() method defined by container
Component add(Component compObj)
• Removing the Control
•
•
•
Call remove() method defined by container
void remove(Component obj)
For remove all: removeAll() method call. 30
AWT Control: Label
Used to just display string on window.
Passive Components
Constructors:
•
•
•
•
•
•
Label( )
Label(String str) //left - justified
Label(String str, int how) // Label.LEFT
, Label.RIGHT
, Label.CENTER
• Methods to perform operation:
• About text:
• void setText(String str)
• String getText( )
• About Alighment
• void setAlignment(int how)
• int getAlignment( )
Setter and Getter Method.
31
AWT Control: Button
• It contains a label and
pressed.
Active Components
Constructors:
• Button( )
• Button(String str)
that generates an event when it is
•
•
• Methods to perform operation: Setter and Getter Method.
• void setLabel(String str)
• String getLabel( )
32
AWT Control: Button Handling
When Button pressed which generates an event when
it is pressed.
Implements ActionListener interface.
Interface has defined actionPerformed() method,
•
•
•
called when
ActionEvent
method.
ActionEvent
Button
event is generated.
object is supplied as argument to the
•
• object refers both Button and Label of
Label will get by using getActionCommand() from
ActionEvent which passed.
• 33
AWT Control: CheckBox
Used to turn an option on or off.
Small box: check mark or not.
Each check box has label.
Constructors are:
•
•
•
•
•
•
•
•
•
Checkbox( )
Checkbox(String
Checkbox(String
Checkbox(String
Checkbox(String
str)
str,
str,
str,
boolean
boolean
on)
on, CheckboxGroup cbGroup)
CheckboxGroup cbGroup, boolean on)
34
AWT Control: CheckBox
Setter and Getter methods:
•
•
•
•
•
boolean getState( )
void setState(boolean on)
String getLabel( )
void setLabel(String str)
• The value of on determine initial state (true/false).
35
AWT Control: CheckBox
Handling
Check box is selected or deselected, an item event is generated.
For handling implements ItemListener interface
•
•
• ItemListener interface is defines itemStateChanged(
method.
ItemEvent object is supplied as the argument.
getState() : Get Status about checkbox.
Following methods determine and set status:
• Checkbox getSelectedCheckbox( )
• void setSelectedCheckbox(Checkboxwhich)
)
•
•
•
36
AWT Control: Choice Class
Used to create a pop-up list items.
Default constructor Choice() create empty list.
For add item in list and select active item:
•
•
•
•
•
•
void
void
void
add(String name)
select(int index)
select(String name)
• Each item in the list is a string that appears as a left-justified
label in the order it is added to the Choice object.
To determine selected item:
•
•
•
•
String getSelectedItem( )
int getSelectedIndex( )
String getItem(int index) 37
AWT Control: HandlingChoice
When Choice selected, an item event is generated.
Implements the ItemListener interface.
Interface defines the itemStateChanged( ) method.
•
•
•
• ItemEvent
method.
object is supplied as the argument to this
38
AWT Control: List
List class provides a compact, multiple-choice,
scrolling selection list.
•
• List object can be constructed to show
choices in the visible window.
In Choice only one item is shown.
Constructors
any number of
•
•
•
•
•
List( )
List(int numRows)
List(int numRows, boolean multipleSelect) 39
AWT Control: List
Following methods are used to add
• void add(String name)
• items:
• void add(String name, int
For single selection items:
• String getSelectedItem()
• int getSelectedIndex( )
For Multi selection items:
• String[ ] getSelectedItems(
• int[ ] getSelectedIndexes( )
index)
•
•
)
40
AWT Control: List
To retrieve item:
• String getItem(int index)
To get Item Count
• int getItemCount( )
Active Item
• void select(int index)
•
•
•
41
AWT Control: List Handling
Two types of event generated:
• For double clicked: ActionEvent generated.
• For select and deselect item: ItemEvent generated.
•
• Implements ActionListener interface and ItemListener.
42
AWT Control: Scrollbar
Scrollbar control represents a scroll bar component in order to
enable user to select from range of values.
Used to select continuous values between a specified minimum
and maximum.
Scroll bars may be oriented horizontally or vertically.
Each end has an arrow that you can click to move the current
value of the scroll bar one unit in the direction of the arrow.
The current value of the scroll bar relative to its minimum and
maximum values is indicated by the slider box for the scroll bar.
The slider box can be dragged by the user to a new position.
•
•
•
•
•
•
43
AWT Control: Scrollbar
Constructors:
•
•
•
Scrollbar( ) : construct new vertical scrollbar
Scrollbar(int style) : : construct new scrollbar
orientation
with style
• Scrollbar(int style, int initialValue, int thumbSize, int min, int
max)
•
•
style : Scrollbar.VERTICAL or Scrollbar.HORIZONTAL
For set Values:
• void setValues(int initialValue, int thumbSize, int min, int
max)
For get and set current value:
• int getValue( )
• void setValue(int newValue)
• 44
AWT Control: Scrollbar
For get Min and Max value:
• int getMinimum( )
• int getMaximum( )
By default unit increment/decrement is
•
• 1 and Block
page-up and page-down increment/decrement
For change increment and decrement:
• void setUnitIncrement(int newIncr)
• void setBlockIncrement(int newIncr)
is 10.
•
45
AWT Control: Handling
Scrollbar
AdjustmentEvent is generated.
Implement the AdjustmentListener interface.
adjustmentValueChanged() method we have to
•
•
•
•
override
getAdjustmentType( ) method can be used to determine the type
of the adjustment.
BLOCK_DECREMENT: A page-down event has been generated.
BLOCK_INCREMENT:A page-up event has been generated.
TRACK: An absolute tracking event has been generated.
UNIT_DECREMENT: user clicks in the right arrow of a horizontal
scroll bar, or the bottom arrow of a vertical scroll bar
•
•
•
•
UNIT_INCREMENT: User clicks in the left arrow of a horizontal scroll
•
bar, or the top arrow of a vertical scroll bar.
AWT Control: TextField
TextField is subclass of TextComponent. TextComponent is subclass of
Component.
TextField class implements a single-line text-entry area, usually
called an edit control.
•
•
• Text fields allow the user to enter strings and to edit the text using
the arrow keys, cut and paste keys,
Constructors:
and mouse selections.
•
•
•
•
•
TextField( )
TextField(int numChars)
TextField(String str)
TextField(String str, int numChars)
47
AWT Control: TextField
Setter and Getter Method of TextField and TextComponent:
• String getText( )
• void setText(String str)
Particular Text selection:
• String getSelectedText( )
• void select(int startIndex, int endIndex)
About Modification of Text:
• boolean isEditable( )
• void setEditable(boolean canEdit)
•
•
•
48
AWT Control:
Setting echo character to text
TextField
field and related methods:
•
•
•
•
void setEchoChar(char ch)
boolean echoCharIsSet( )
char getEchoChar( )
•
•
Button can be used to Handling Event: ActionEvent generates.
Implements ActionListener Class
49
AWT Control: TextArea
• Need ? Sometimes a single line of text
task.
Subclass of TextComponent.
Constructors:
input is not enough for a given
•
•
•
•
•
•
•
TextArea( )
TextArea(int numLines, int numChars)
TextArea(String str)
TextArea(String str, int numLines, int numChars)
TextArea(String str, int numLines, int numChars, int sBars)
50
AWT Control: TextArea
The values of sbar:
•
•
•
•
•
SCROLLBARS_BOTH
SCROLLBARS_NONE
SCROLLBARS_HORIZONTAL_ONLY
SCROLLBARS_VERTICAL_ONLY
• It supports: getText( ), setText( ), getSelectedText(
), and setEditable( )
Other some methods:
), select( ), isEditable(
•
•
•
•
void append(String str)
void insert(String str, int index)
void replaceRange(String str, int startIndex, int endIndex)
51
AWT Control: TextArea
The values of sbar:
•
•
•
•
•
SCROLLBARS_BOTH
SCROLLBARS_NONE
SCROLLBARS_HORIZONTAL_ONLY
SCROLLBARS_VERTICAL_ONLY
• It supports: getText( ), setText( ), getSelectedText(
), and setEditable( )
Other some methods:
), select( ), isEditable(
•
•
•
•
void append(String str)
void insert(String str, int index)
void replaceRange(String str, int startIndex, int endIndex)
52
Arrangingcomponents : LM
•
•
Layout means the arrangement of components within the container.
Layout manager automatically positions all the components within the
container.
LayoutManager:
• Defines the interface for classes that know how to lay out Containers.
LayoutManager2:
• It is the sub-interface of the LayoutManager
. This interface is for those
classes that know how to layout containers based on layout constraint
object.
•
•
53
Arrangingcomponents : LM
•
•
•
•
Every Container has a layout manager
a Panel and Applet is FlowLayout
a Window and Frame is a BorderLayout
The
The
default layout for
default layout for
We could set it explicitly with: setLayout()
setLayout (new FlowLayout( ));
• You could change it to some other layout manager
54
DifferentLayout Manager
FlowLayout
• The FlowLayout is the default layout.It layouts the components in a
directional/horizontally flow.
BorderLayout
•
•
• The borderlayout arranges the components to fit in the five regions: east,
west, north, south and center.
GridLayout
• The GridLayout manages the components in form of a rectangular grid.
CardLayout
• The CardLayout object treats each component in the container as a
card. Only one card is visible at a time.
GridBagLayout
•
•
•
• This is the most flexible layout manager class. The object of GridBagLayout
aligns the component vertically, horizontally or along their baseline without
55
requiring the components of same size.
FlowLayout
• add(component);
Use to add to a component when using a
FlowLayout
Components are added left-to-right
If no room, a new row is started
Exact layout depends on size of Applet
Components are made as small as possible
FlowLayout is convenient but often not good.
•
•
•
•
•
56
Completeexample:
FlowLayout
import java.awt.*;
import java.applet.*;
public class FlowLayoutExample extends Applet
public void init () {
{
setLayout (new FlowLayout ()); // default
add
add
add
add
add
add
(new
(new
(new
(new
(new
(new
Button
Button
Button
Button
Button
Button
("One"));
("T
wo"));
("Three"));
("Four"));
("Five"));
("Six"));
}
}
57
BorderLayout
At most five components can be
added
If you want more components, add a
Panel, then add components to it.
•
•
• setLayout (new BorderLayout());
58
add (new Button("NORTH"), BorderLayout.NORTH);
BorderLayout with five
Buttons
public void init() {
setLayout (new BorderLayout ());
add
add
add
add
add
(new
(new
(new
(new
(new
Button
Button
Button
Button
Button
("NORTH"), BorderLayout.NORTH);
("SOUTH"), BorderLayout.SOUTH);
("EAST"), BorderLayout.EAST);
("WEST"), BorderLayout.WEST);
("CENTER"), BorderLayout.CENTER);
}
59
Completeexample:
BorderLayout
import java.awt.*;
import java.applet.*;
public class BorderLayoutExample
public void init () {
extends Applet {
setLayout (new BorderLayout());
add(new
add(new
add(new
add(new
add(new
add(new
Button("One"), BorderLayout.NORTH);
Button("T
wo"), BorderLayout.WEST);
Button("Three"), BorderLayout.CENTER);
Button("Four"), BorderLayout.EAST);
Button("Five"), BorderLayout.SOUTH);
Button("Six"), BorderLayout.SOUTH);
}
60
}
Usinga Panel
Panel p = new Panel();
add (p, BorderLayout.SOUTH);
p.add
p.add
(new
(new
Button
Button
("Button
("Button
1"));
2"));
61
GridLayout
• The GridLayout manager
divides the container up
into a given number of rows
and columns:
new GridLayout(rows, columns)
• All sections of the grid are equally
possible
sized and as large as
62
Completeexample: GridLayout
import java.awt.*;
import java.applet.*;
public class GridLayoutExample extends Applet
public void init () {
{
setLayout(new GridLayout(2, 3));
add(new
add(new
add(new
add(new
add(new
Button("One"));
Button("T
wo"));
Button("Three"));
Button("Four"));
Button("Five"));
}
}
63
CardLayout
The class CardLayout arranges each component in the

container as a card. Only one card is visible at
and the container acts as a stack of cards.
Constructors:
a time,

CardLayout()
Creates a new card layout with gaps of size zero.
CardLayout(int hgap, int vgap)
Creates a new card layout with the specified horizontal
vertical gaps.


and
64
CardLayout
Cards are typically held in an object of type Panel.

Panel must have CardLayout selected as its
manager.
ForAdd component:
layout


void add(Component panelObj, Object name);

Methods:

void
void
void
void
void
first(Container deck)
last(Container deck)
next(Container deck)
previous(Container deck)
show(Container deck, String cardName)



65


GridBagLayout
GridBagLayout arranges components in a horizontal

and vertical manner.
GridBagLayout is the most complex and flexible of the

standard layout managers.
GridBagLayout, elements can have different sizes and

can occupy multiple rows or columns.
The position and behavior of each element is specified

by an instance of the GridBagConstraints class.
The actual grid size is based upon the number of
components within the GridBagLayout and the
GridBagConstraints of those objects.

66
GridBagLayout
rectangular grid of cells, with each component
occupying one or more cells, called its display area.
Each GridBagLayout object maintains a dynamic

Each component managed by a grid bag layout is

associated with an instance of GridBagConstraints that
specifies how the component is laid out within its
display area.
Maximum capacity of a screen using GridBagLayout
cells.
cells.
in

Java 1.0 is 128 128
Java 1.1 is 512 512


67
Constructor:

GridBagLayout()

GridBagLayout
one or more of its instance variables:
For customize a GridBagConstraints object by setting

gridx, gridy:
 Specifies the cell at the upper left of the component's display area,
where the upper-left-most cell has address gridx = 0, gridy = 0.
gridwidth, gridheight:
 Specifies the number of cells in a row (for gridwidth) or column


(for gridheight) in the component's display area. The default value is 1.
fill:

 Used when the component's display area is larger than the component's
requested size to determine whether (and how) to resize the
component.
68
MenuBar and Menu
69
MenuBar and Menu
Top-level window can have a menu bar associated with

it.
Amenu bar displays a list of top-level menu choices.
Each choice is associated with a drop-down menu.
Classes:
 MenuBar : Contains one or more Menu objects
 Menu : Contains one or more MenuItem objects
 MenuItem : Object something selected by user.
It is also possible to include checkable menu items




These are menu options of type CheckboxMenuItem
and will have a check mark next to them when they are
 70
selected.
MenuBar and Menu
To create a menu bar, first create an instance of
MenuBar.
Set MenuBar using setMenuBar(MenuBarObject)


Next, create instances of Menu
selections displayed on the bar.
Constructors:
that will define the


Menu( )
Menu(String optionName)
Menu(String optionName, boolean


removable)

Individual menu items constructors:

MenuItem( )
MenuItem(String
MenuItem(String
 71
itemName)
itemName, MenuShortcut keyAccel)


MenuBar and Menu
Disable or enable a menu item by using:

void setEnabled(boolean enabledFlag)
boolean isEnabled( )


Label set and get using:

void setLabel(String newName)
String getLabel( )


Checkable menu item by using
called CheckboxMenuItem. :
a subclass of MenuItem

CheckboxMenuItem( )
CheckboxMenuItem(String itemName)
CheckboxMenuItem(String itemName, boolean on)


72

MenuBar and Menu
Status about checkable MenuItem:

boolean getState( )
void setState(boolean checked)


For add MenuItem:

MenuItem add(MenuItem item)

For add MenuBar

Menu add(Menu menu)

To get Item from Menu:

Object getItem( )

73
Dialog Box
Dialog boxes are primarily used to obtain user input.

They are similar to frame windows, except that dialog boxes are

always child windows of a top-level window.
Dialog boxes don’t have menu bars.
In other respects, dialog boxes function like frame windows.
Dialog boxes may be modal or modeless.



When a modal dialog box is active, all input is directed to it until

it is closed.
When a modeless dialog box is active, input focus can be directed

to another window in your program.
74
Dialog Box
Constructors:.

Dialog(Frame parentWindow,
Dialog(Frame parentWindow,
create Dialog Box:
Create Frame orApplet
boolean mode)
String title, boolean

mode)

To


Create another class which extends Dialog class.
Call this new class from Frame/Applet class.
In constructor of Extended Dialog class, use super
pass vales to constructor of Dialog.


method and

75
FileDialog
specify a file.
Java provides a built-in dialog box that lets the user

To create a file dialog box, instantiate an object of type
FileDialog.
Constructor:


 FileDialog(Frame
 FileDialog(Frame
 FileDialog(Frame
parent, String boxName)
parent, String boxName,
parent)
int how)
Int how: FileDialog.LOAD, FileDialog.SA
VE
Methods:
String getDirectory( )
String getFile( )
76
Introduction to Swing
Package : javax.swing.*
Swing is set of classes which provides more powerful
and flexible components as compare toAWT.
Build on top ofAWTAPI and a.cts as replacement of
AWTAPI.
Swing component follows a Model-View-Controller




Swing Components are implemented using Java and so

they are platform independent.
Called lightweight components

77
Introduction to Swing
78
Introduction to Swing
100 % Java implementations of components.
Use MVC architecture.


Model represents the data
View as a visual representation of the data


Controller
data
takes input and translates it to changes in

79
Difference BetweenAWT &
Swing
AWT usesApplet and Frame while Swing uses JApplet

and JFrame for GUI.
AWT is platform dependent
platform independent.
Swing has bigger collection
compare to AWT.
code while Swing code is

of classes and interfaces as

In Swing extra feature to Button: Provide Image.

Swing provides: Tree, Table, Scrollpanes, Tabbedpanes

etc new feature which not available inAWT.
80
Important
Abstract Button
ButtonGroup
ImageIcon
JApplet
JButton
JCheckBox
JComboBox
JLabel
JRadioButton
JScrollPane
JTabbedPane
JTable
JTextField
JTree
Classes by Swing











 81


MVCArchitecture
Software design pattern for software development.
Model:


 Major function of this layer to maintain
 Database and logic.
View:
the data.

 Used to display full
 User Interface
Controller:
or partial data.

 Control the interaction and communication
and view.
 Communication logic/integration logic
between Model 82
MVC Architecture
83
JApplet and Jframe
Extends JApplet/JFrame class.

Design UI in init() or Constructor
Add all components on Container
JApplet/JFrame.
method.
instead on


getContentPane() method returns the container object.

Call container add() method to add components.
Guess default layout for JApplet/Jframe?


For JFrame close operation: setDefaultCloseOperation()

Parameters:
 DISPOSE_ON_CLOSE
 EXIT_ON_CLOSE
 DO_NOTHING_ON_CLOSE

84
JLable and ImageIcon
Small display area for
Extends Jcomponent.
Constructors:
 JLabel(Icon i)
 Label(String s)
text, image or both.



 JLabel(String s, Icon i, int align)
align argument is either LEFT, RIGHT, CENTER,
ImageIcon:
 ImageIcon(String filename)
 ImageIcon(URLurl)

85
JLable and ImageIcon
The ImageIcon class implements
that declares the methods
 int getIconHeight( )
the Icon interface

 int getIconWidth( )
Other methods:
 Icon getIcon( )
 String getText( )
 void setIcon(Icon i)
 void setText(String s)

86
JT
extField
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
javax.swing.JTextField
JTextField( )
JTextField(int cols)
JTextField(String s, int cols)
JTextField(String s)
87
AbstractButton
Swing provide Icon with Button text.

Swing buttons are subclasses of the AbstractButton class,
which extends Jcomponent.

AbstractButton contains many methods that allow you to

control the behavior of buttons, check boxes, and radio buttons.
Setter and Getter:
 String getText( )
 void setText(String s)

88
JButton
Constructors:

JButton(Icon i)
JButton(String
JButton(String

s)
s,

Icon i)

89
JCheckBox
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JToggleButton
javax.swing.JCheckBox
JCheckBox(Icon i)
JCheckBox(Icon i, boolean state)
JCheckBox(String
JCheckBox(String
JCheckBox(String
JCheckBox(String
s)
s,
s,
s,
boolean state)
Icon i)
Icon i, boolean state)
90
JCheckBox
void setSelected(boolean
ItemEvent is generated.
state)


ItemListener interface is needed to
to
handle ItemEvent.
override.

Public itemStateChnaged() used

91
JRadioButton
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JToggleButton
javax.swing.JRadioButton
JRadioButton(Icon i)
JRadioButton(Icon i, boolean state)
JRadioButton(String
JRadioButton(String
JRadioButton(String
JRadioButton(String
s)
s,
s,
s,
boolean state)
Icon i)
Icon i, boolean state)
92
JRadioButton
ButtonGroup class is used to
ActionEvent is generated.
add radio button in group.


ActionListener Listener interface is
ActionEvent.
needed to handle

public void actionPerofrmed() used to override.

93
JComboBox
Combination of text field
Subclass of JComponet
and drop down list.


Only one entry can view at a time.
Constructor:
 JComboBox( )
 JComboBox(V
ector v)
void addItem(Object obj): Used to


add object in Combobox

94
JComboBox: EventHandling
ItemEvent is generated.
Implements ItemListener interface
Override: itemStateChnaged(ItemEvent
ItemListener.


ie) method defined by

95
JT
abbedPane
A tabbed pane is a component
of folders in a file cabinet.
Each folder has a title.
that appears as a group


When a user selects a folder,
visible.
its contents become

Only one of the folders may be selected at a time.
Tabbed panes are commonly used for setting
configuration options.
Subclass of JComponent



96
JT
abbedPane
A tabbed pane is a component
of folders in a file cabinet.
Each folder has a title.
that appears as a group


When a user selects a folder,
visible.
its contents become

Only one of the folders may be selected at a time.
Tabbed panes are commonly used for setting
configuration options.
Subclass of JComponent



97
JT
abbedPane
Tabs are defined via the following method :

 void addTab(String str, Component
 Str: title of pane
 Comp: component, it can be JPanel
Steps to create JTabbedPane:
comp)

1.
2.
3.
Create a JTabbedPane object.
Call addTab( ) to add a tab to the pane.
Repeat step 2 for each tab.
4.Add the tabbed pane to the content pane of the Japplet or JFrame
98
JScrollPane
Ascroll pane is a component that presents a rectangular area
which a component may be viewed.
in

Horizontal and/or vertical scroll bars
necessary.
Subclass of JComponent
Constructor:
 JScrollPane(Component comp)
 JScrollPane(int vsb, int hsb)
may be provided if



 JScrollPane(Component comp, int vsb, int hsb)
Comp: Component, vsb and hsb: Scrollbar constant

99
JScrollPane
HORIZONTAL_SCROLLBAR_ALW
AYS
HORIZONTAL_SCROLLBAR_AS_NEEDED
VERTICAL_SCROLLBAR_ALW
AYS
VERTICAL_SCROLLBAR_AS_NEEDED




.
100
JT
ree
Atree is a component that presents a hierarchical view of data.

Trees are implemented in
extends JComponent.
Constructors:
Swing by the JTree class, which


JTree(Hashtable ht)
JTree(Object obj[ ])
JTree(TreeNode tn)
JTree(V
ector v)




101
JT
ree
AJTree object generates events when a node is expanded or
collapsed.
The addTreeExpansionListener( ) and
removeTreeExpansionListener() methods allow listeners to
register and unregister for these notifications.
Signature for these methods:



 void addTreeExpansionListener(TreeExpansionListener tel)
 void removeTreeExpansionListener(TreeExpansionListener
tel)
102
JT
ree
TreePath getPathForLocation(intx, int y):
TreePath object that encapsulates information about the tree
node that was selected by the user.
The TreeNode interface declares methods that obtain
information about a tree node.



The MutableTreeNode interface extends TreeNode. It declares

methods that can insert and remove child nodes or change the
parent node.
The DefaultMutableTreeNode class implements the
MutableTreeNode interface. It represents a node in a tree.
Constructor: DefaultMutableTreeNode(Object obj)


103
JT
ree
To create a hierarchy of tree nodes, the add( ) method of
DefaultMutableTreeNode can be used.
 void add(MutableTreeNode child)
Tree Expansion event described by class:
 TreeExpansionEvent (Package: javax.swing.event)
The getPath( ) method of this class returns a TreePath.
 TreePath getPath( )
TreeExpansionListenerinterface provides the following
methods
 void treeCollapsed(TreeExpansionEvent tee)
 void treeExpanded(TreeExpansionEvent tee)



two

104
JT
ree
 Steps to create Jtree:
1. Create a
2. Create a
JTree object.
JScrollPane object.
tree to the scroll pane.
3.Add
4.Add
the
the scroll pane to the content pane of the applet.
105
JT
able
Atable is a component that displays rows and columns of data.

Y
ou can drag the cursor on column boundaries to
columns.
Y
ou can also drag a column to a new position.
Subclass of JComponent
Constructor:
 JTable(Object data[ ][ ], Object colHeads[ ])
resize




 data is a two-dimensional array of the information
 colHeads is a one-dimensional array with the column
headings.
106
JT
able
 Steps to create Jtable
1. Create a
2. Create a
JTable object.
JScrollPane object.
table to the scroll pane.
3.Add
4.Add
the
the scroll pane to the content pane of the JApplet or JFrame.
107
Vocabulary
• AWT – The Abstract Window Toolkit provides basic
graphics tools (tools for putting information on the
screen)
Swing – A much better set of graphics tools
Container – a graphic element that can hold other
graphic elements (and is itself a Component)
Component – a graphic element (such as a Button or a
TextArea) provided by a graphics toolkit
listener – A piece of code that is activated when a
particular kind of event occurs
layout manager – An object whose job it is to arrange
Components in a Container
•
•
•
•
•
108
Thank You !
109

More Related Content

Similar to 17625-1.pptx

Labels and buttons
Labels and buttonsLabels and buttons
Labels and buttonsmyrajendra
 
9awt Components
9awt Components9awt Components
9awt ComponentsAdil Jafri
 
Chapter iii(building a simple user interface)
Chapter iii(building a simple user interface)Chapter iii(building a simple user interface)
Chapter iii(building a simple user interface)Chhom Karath
 
Ajp notes-chapter-01
Ajp notes-chapter-01Ajp notes-chapter-01
Ajp notes-chapter-01Ankit Dubey
 
Ajp notes-chapter-01
Ajp notes-chapter-01Ajp notes-chapter-01
Ajp notes-chapter-01JONDHLEPOLY
 
Introduction to LabVIEW
Introduction to LabVIEWIntroduction to LabVIEW
Introduction to LabVIEWAhmed Elsayed
 
Dr. Rajeshree Khande :Introduction to Java AWT
Dr. Rajeshree Khande :Introduction to Java AWTDr. Rajeshree Khande :Introduction to Java AWT
Dr. Rajeshree Khande :Introduction to Java AWTDrRajeshreeKhande
 
Abstract Window Toolkit
Abstract Window ToolkitAbstract Window Toolkit
Abstract Window ToolkitRutvaThakkar1
 
Unit-1 awt advanced java programming
Unit-1 awt advanced java programmingUnit-1 awt advanced java programming
Unit-1 awt advanced java programmingAmol Gaikwad
 
Windows Programming with AWT
Windows Programming with AWTWindows Programming with AWT
Windows Programming with AWTbackdoor
 
Advance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWTAdvance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWTPayal Dungarwal
 
engineeringdsgtnotesofunitfivesnists.ppt
engineeringdsgtnotesofunitfivesnists.pptengineeringdsgtnotesofunitfivesnists.ppt
engineeringdsgtnotesofunitfivesnists.pptsharanyak0721
 

Similar to 17625-1.pptx (20)

Labels and buttons
Labels and buttonsLabels and buttons
Labels and buttons
 
9awt Components
9awt Components9awt Components
9awt Components
 
Chapter iii(building a simple user interface)
Chapter iii(building a simple user interface)Chapter iii(building a simple user interface)
Chapter iii(building a simple user interface)
 
GUI.pdf
GUI.pdfGUI.pdf
GUI.pdf
 
Ajp notes-chapter-01
Ajp notes-chapter-01Ajp notes-chapter-01
Ajp notes-chapter-01
 
AWT.pptx
AWT.pptxAWT.pptx
AWT.pptx
 
Gui programming
Gui programmingGui programming
Gui programming
 
Ajp notes-chapter-01
Ajp notes-chapter-01Ajp notes-chapter-01
Ajp notes-chapter-01
 
Introduction to LabVIEW
Introduction to LabVIEWIntroduction to LabVIEW
Introduction to LabVIEW
 
Dr. Rajeshree Khande :Introduction to Java AWT
Dr. Rajeshree Khande :Introduction to Java AWTDr. Rajeshree Khande :Introduction to Java AWT
Dr. Rajeshree Khande :Introduction to Java AWT
 
Swing
SwingSwing
Swing
 
Abstract Window Toolkit
Abstract Window ToolkitAbstract Window Toolkit
Abstract Window Toolkit
 
Awt
AwtAwt
Awt
 
Unit-1 awt advanced java programming
Unit-1 awt advanced java programmingUnit-1 awt advanced java programming
Unit-1 awt advanced java programming
 
28 awt
28 awt28 awt
28 awt
 
java.pptx
java.pptxjava.pptx
java.pptx
 
14a-gui.ppt
14a-gui.ppt14a-gui.ppt
14a-gui.ppt
 
Windows Programming with AWT
Windows Programming with AWTWindows Programming with AWT
Windows Programming with AWT
 
Advance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWTAdvance Java Programming (CM5I) 1.AWT
Advance Java Programming (CM5I) 1.AWT
 
engineeringdsgtnotesofunitfivesnists.ppt
engineeringdsgtnotesofunitfivesnists.pptengineeringdsgtnotesofunitfivesnists.ppt
engineeringdsgtnotesofunitfivesnists.ppt
 

Recently uploaded

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 

Recently uploaded (20)

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 

17625-1.pptx

  • 3. AJP: Chapter 3 Chapter # Chapter Name Marks (As per Syllabus) 01 Introductionto Abstract Windowing Toolkit(AWT) & Swings 24 02 Event Handling 20 03 Networking& Security 16 04 Interacting with Database 20 05 Servlets & JSP 20
  • 5. SpecificObjectives • To design and develop Graphical User Interface (GUI) programs using AWT and Swing component. • To arrange the layout. GUI components using different 5
  • 6. GUI (Graphical User Interface) • GUI offers user interaction via some graphical components. Window, frame, Panel, Button, Textfield, TextArea, Listbox, Combobox, Label, Checkbox etc. Using these components we can create an interactive user interface for an application. GUI provides result to end user in response to raised event. GUI is entirely based event. • • • • 6
  • 7. GUI (Graphical User Interface) button menus title bar menu bar combo box scroll bars 7
  • 8. AWT (Abstract Window Toolkit) • AWT contains numerous classes and methods that allow you to create and manage window. import java.awt.*; Java AWT is an API to develop GUI or window- based application in java. Java AWT components are platform-dependent i.e. components are displayed according to the view of operating system. AWT is heavyweight i.e. its components uses the resources of system. • • • • 8
  • 10. AWT Class Hierarchy : Detailed 10 Checkbox, Choice, Label, List, Scrollbar, ScrollPane, TextArea, TextField
  • 11. AWT Class Hierarchy : Detailed 11
  • 12. Component • Component is an object having a graphical representation that can be displayed on the screen and that can interact with the user. At the top of the AWT hierarchy is the Component class. It is abstract class that encapsulates all of the attributes of a visual component. It defines over a hundred public methods that are responsible for managing events, such as mouse and keyboard input, positioning and sizing the window, and repainting. • • • 12
  • 13. Component • Which object is responsible for remembering the current foreground and background colors and the currently selected text font? (Answer: Componenet) • • It extends: Object Class Implements: ImageObserver, MenuContainer, Serializable 13
  • 14. Container Container class is a subclass of Component. Provided additional methods that allow other Component to place on it. Which (Container) is responsible for laying out (that is, positioning) any components that it contains. It does this through the use of various layout managers. • • • • 14
  • 15. Container Container is a component in AWT that can contain another components like buttons, text fields, labels etc. • • The classes that extends Container class are known as container such as Frame, Dialog and Panel. 15
  • 16. Containers and Components • The job of a Container is to hold and display Components • Some common subclasses of Component are Button, Checkbox, Label, Scrollbar, TextField, and TextArea • A Container is also a Component • Some Container subclasses are Panel (and Applet, JApplet), Window (Frame, JFrame) 16
  • 17. Panel • Panel is a concrete subclass of Container. • It doesn’t add any new methods which simply implements Container. • Panel is the immediate superclass of Applet. When screen output is directed to an applet, it is drawn on the surface of Panel object. a 17
  • 18. Panel Panel is one type of container that does not contain a title bar, menu bar, or border. • • When you run an applet using an applet viewer, the viewer provides the title and border. applet • Uses add() to add component defined by container. • Uses setSize(), setLocation(), setBounds() defined by Component. 18
  • 19. An Applet is Container java.lang.Object | Panel is a +----java.awt.Component | +----java.awt.Container | +----java.awt.Panel | +----java.applet.Applet …so you can display things in anApplet 19
  • 20. Applets • Applet is a public class which is predefined java.applet.Applet. There is no main() method in Applet like Application program. The main() method is by browser or Appletviewer for Applet. Life cycle methods: init, start, paint, stop, by • defined • • destroy Applet is one type of container and subclass of Panel. Applet is superclass of JApplet 20
  • 21. To create an applet • • • • • • import Import Applet java.applet.*; java.awt.*; code in comment. Extends Applet class Life cycle method Class must be public 21
  • 22. Example: A "Life" applet Container (Applet) Containers (Panels) Component (Canvas) Components (Buttons) Components (T extFields) Components (Labels) 22
  • 23. Window Creates top-level window means directly on the desktop. Don’t create Window objects directly. The window is the container that have no borders and menu bars. • • • • Uses Frame, Dialog class which is subclass Window class for creating window. of 23
  • 24. Frame It is subclass of Window and has a title bar, menu bar, borders, and resizing corners. Frame object can be created from program or Applet. Through Applet: Warning message will display “Java Applet Window”. • • • • Through Program created. or Application: Normal window is 24
  • 25. Workingwith Extends Frame class Constructor are: • Frame() • Frame(String title) Frame Window • • • Setting and Getting window size: • • • void setSize(int width, int height) void setSize(Dimension newsize) Dimension getSize() • Showing and Hiding Frame • void setVisible(boolean visibleFlag) 25
  • 26. Workingwith Frame Setting title to frame • void setTitle(String title) Closing Frame: Four Ways Window • • • • • • Implements WindowListener interface. Extends WindowAdapter class. WindowAdapter Inner class. WindowAdapter anonymous inner classes. 26
  • 27. AWT Controlsand Layout Manager interact with application. • AWT Controls: Component which allows you to • • • • • • • Labels Button Checkbox Checkbox Scrollbars Text field Text Area group 27
  • 28. Some Label types of components Checkbox Button Scrollbar Choice T extField List T extArea Button 28 Checkbox CheckboxGroup
  • 29. AWT Controlsand Layout Manager container . • Layout Manager: Positioning the components in the • • • • • Flow Layout Border Layout Grid Layout Card Layout Grid Bag Layout • Menubars, menus, dialog boxes, file dialog. 29
  • 30. AWT Controls: Allows user to interact with application. Adding the control in Window • • • • • First create instance of control. Call add() method defined by container Component add(Component compObj) • Removing the Control • • • Call remove() method defined by container void remove(Component obj) For remove all: removeAll() method call. 30
  • 31. AWT Control: Label Used to just display string on window. Passive Components Constructors: • • • • • • Label( ) Label(String str) //left - justified Label(String str, int how) // Label.LEFT , Label.RIGHT , Label.CENTER • Methods to perform operation: • About text: • void setText(String str) • String getText( ) • About Alighment • void setAlignment(int how) • int getAlignment( ) Setter and Getter Method. 31
  • 32. AWT Control: Button • It contains a label and pressed. Active Components Constructors: • Button( ) • Button(String str) that generates an event when it is • • • Methods to perform operation: Setter and Getter Method. • void setLabel(String str) • String getLabel( ) 32
  • 33. AWT Control: Button Handling When Button pressed which generates an event when it is pressed. Implements ActionListener interface. Interface has defined actionPerformed() method, • • • called when ActionEvent method. ActionEvent Button event is generated. object is supplied as argument to the • • object refers both Button and Label of Label will get by using getActionCommand() from ActionEvent which passed. • 33
  • 34. AWT Control: CheckBox Used to turn an option on or off. Small box: check mark or not. Each check box has label. Constructors are: • • • • • • • • • Checkbox( ) Checkbox(String Checkbox(String Checkbox(String Checkbox(String str) str, str, str, boolean boolean on) on, CheckboxGroup cbGroup) CheckboxGroup cbGroup, boolean on) 34
  • 35. AWT Control: CheckBox Setter and Getter methods: • • • • • boolean getState( ) void setState(boolean on) String getLabel( ) void setLabel(String str) • The value of on determine initial state (true/false). 35
  • 36. AWT Control: CheckBox Handling Check box is selected or deselected, an item event is generated. For handling implements ItemListener interface • • • ItemListener interface is defines itemStateChanged( method. ItemEvent object is supplied as the argument. getState() : Get Status about checkbox. Following methods determine and set status: • Checkbox getSelectedCheckbox( ) • void setSelectedCheckbox(Checkboxwhich) ) • • • 36
  • 37. AWT Control: Choice Class Used to create a pop-up list items. Default constructor Choice() create empty list. For add item in list and select active item: • • • • • • void void void add(String name) select(int index) select(String name) • Each item in the list is a string that appears as a left-justified label in the order it is added to the Choice object. To determine selected item: • • • • String getSelectedItem( ) int getSelectedIndex( ) String getItem(int index) 37
  • 38. AWT Control: HandlingChoice When Choice selected, an item event is generated. Implements the ItemListener interface. Interface defines the itemStateChanged( ) method. • • • • ItemEvent method. object is supplied as the argument to this 38
  • 39. AWT Control: List List class provides a compact, multiple-choice, scrolling selection list. • • List object can be constructed to show choices in the visible window. In Choice only one item is shown. Constructors any number of • • • • • List( ) List(int numRows) List(int numRows, boolean multipleSelect) 39
  • 40. AWT Control: List Following methods are used to add • void add(String name) • items: • void add(String name, int For single selection items: • String getSelectedItem() • int getSelectedIndex( ) For Multi selection items: • String[ ] getSelectedItems( • int[ ] getSelectedIndexes( ) index) • • ) 40
  • 41. AWT Control: List To retrieve item: • String getItem(int index) To get Item Count • int getItemCount( ) Active Item • void select(int index) • • • 41
  • 42. AWT Control: List Handling Two types of event generated: • For double clicked: ActionEvent generated. • For select and deselect item: ItemEvent generated. • • Implements ActionListener interface and ItemListener. 42
  • 43. AWT Control: Scrollbar Scrollbar control represents a scroll bar component in order to enable user to select from range of values. Used to select continuous values between a specified minimum and maximum. Scroll bars may be oriented horizontally or vertically. Each end has an arrow that you can click to move the current value of the scroll bar one unit in the direction of the arrow. The current value of the scroll bar relative to its minimum and maximum values is indicated by the slider box for the scroll bar. The slider box can be dragged by the user to a new position. • • • • • • 43
  • 44. AWT Control: Scrollbar Constructors: • • • Scrollbar( ) : construct new vertical scrollbar Scrollbar(int style) : : construct new scrollbar orientation with style • Scrollbar(int style, int initialValue, int thumbSize, int min, int max) • • style : Scrollbar.VERTICAL or Scrollbar.HORIZONTAL For set Values: • void setValues(int initialValue, int thumbSize, int min, int max) For get and set current value: • int getValue( ) • void setValue(int newValue) • 44
  • 45. AWT Control: Scrollbar For get Min and Max value: • int getMinimum( ) • int getMaximum( ) By default unit increment/decrement is • • 1 and Block page-up and page-down increment/decrement For change increment and decrement: • void setUnitIncrement(int newIncr) • void setBlockIncrement(int newIncr) is 10. • 45
  • 46. AWT Control: Handling Scrollbar AdjustmentEvent is generated. Implement the AdjustmentListener interface. adjustmentValueChanged() method we have to • • • • override getAdjustmentType( ) method can be used to determine the type of the adjustment. BLOCK_DECREMENT: A page-down event has been generated. BLOCK_INCREMENT:A page-up event has been generated. TRACK: An absolute tracking event has been generated. UNIT_DECREMENT: user clicks in the right arrow of a horizontal scroll bar, or the bottom arrow of a vertical scroll bar • • • • UNIT_INCREMENT: User clicks in the left arrow of a horizontal scroll • bar, or the top arrow of a vertical scroll bar.
  • 47. AWT Control: TextField TextField is subclass of TextComponent. TextComponent is subclass of Component. TextField class implements a single-line text-entry area, usually called an edit control. • • • Text fields allow the user to enter strings and to edit the text using the arrow keys, cut and paste keys, Constructors: and mouse selections. • • • • • TextField( ) TextField(int numChars) TextField(String str) TextField(String str, int numChars) 47
  • 48. AWT Control: TextField Setter and Getter Method of TextField and TextComponent: • String getText( ) • void setText(String str) Particular Text selection: • String getSelectedText( ) • void select(int startIndex, int endIndex) About Modification of Text: • boolean isEditable( ) • void setEditable(boolean canEdit) • • • 48
  • 49. AWT Control: Setting echo character to text TextField field and related methods: • • • • void setEchoChar(char ch) boolean echoCharIsSet( ) char getEchoChar( ) • • Button can be used to Handling Event: ActionEvent generates. Implements ActionListener Class 49
  • 50. AWT Control: TextArea • Need ? Sometimes a single line of text task. Subclass of TextComponent. Constructors: input is not enough for a given • • • • • • • TextArea( ) TextArea(int numLines, int numChars) TextArea(String str) TextArea(String str, int numLines, int numChars) TextArea(String str, int numLines, int numChars, int sBars) 50
  • 51. AWT Control: TextArea The values of sbar: • • • • • SCROLLBARS_BOTH SCROLLBARS_NONE SCROLLBARS_HORIZONTAL_ONLY SCROLLBARS_VERTICAL_ONLY • It supports: getText( ), setText( ), getSelectedText( ), and setEditable( ) Other some methods: ), select( ), isEditable( • • • • void append(String str) void insert(String str, int index) void replaceRange(String str, int startIndex, int endIndex) 51
  • 52. AWT Control: TextArea The values of sbar: • • • • • SCROLLBARS_BOTH SCROLLBARS_NONE SCROLLBARS_HORIZONTAL_ONLY SCROLLBARS_VERTICAL_ONLY • It supports: getText( ), setText( ), getSelectedText( ), and setEditable( ) Other some methods: ), select( ), isEditable( • • • • void append(String str) void insert(String str, int index) void replaceRange(String str, int startIndex, int endIndex) 52
  • 53. Arrangingcomponents : LM • • Layout means the arrangement of components within the container. Layout manager automatically positions all the components within the container. LayoutManager: • Defines the interface for classes that know how to lay out Containers. LayoutManager2: • It is the sub-interface of the LayoutManager . This interface is for those classes that know how to layout containers based on layout constraint object. • • 53
  • 54. Arrangingcomponents : LM • • • • Every Container has a layout manager a Panel and Applet is FlowLayout a Window and Frame is a BorderLayout The The default layout for default layout for We could set it explicitly with: setLayout() setLayout (new FlowLayout( )); • You could change it to some other layout manager 54
  • 55. DifferentLayout Manager FlowLayout • The FlowLayout is the default layout.It layouts the components in a directional/horizontally flow. BorderLayout • • • The borderlayout arranges the components to fit in the five regions: east, west, north, south and center. GridLayout • The GridLayout manages the components in form of a rectangular grid. CardLayout • The CardLayout object treats each component in the container as a card. Only one card is visible at a time. GridBagLayout • • • • This is the most flexible layout manager class. The object of GridBagLayout aligns the component vertically, horizontally or along their baseline without 55 requiring the components of same size.
  • 56. FlowLayout • add(component); Use to add to a component when using a FlowLayout Components are added left-to-right If no room, a new row is started Exact layout depends on size of Applet Components are made as small as possible FlowLayout is convenient but often not good. • • • • • 56
  • 57. Completeexample: FlowLayout import java.awt.*; import java.applet.*; public class FlowLayoutExample extends Applet public void init () { { setLayout (new FlowLayout ()); // default add add add add add add (new (new (new (new (new (new Button Button Button Button Button Button ("One")); ("T wo")); ("Three")); ("Four")); ("Five")); ("Six")); } } 57
  • 58. BorderLayout At most five components can be added If you want more components, add a Panel, then add components to it. • • • setLayout (new BorderLayout()); 58 add (new Button("NORTH"), BorderLayout.NORTH);
  • 59. BorderLayout with five Buttons public void init() { setLayout (new BorderLayout ()); add add add add add (new (new (new (new (new Button Button Button Button Button ("NORTH"), BorderLayout.NORTH); ("SOUTH"), BorderLayout.SOUTH); ("EAST"), BorderLayout.EAST); ("WEST"), BorderLayout.WEST); ("CENTER"), BorderLayout.CENTER); } 59
  • 60. Completeexample: BorderLayout import java.awt.*; import java.applet.*; public class BorderLayoutExample public void init () { extends Applet { setLayout (new BorderLayout()); add(new add(new add(new add(new add(new add(new Button("One"), BorderLayout.NORTH); Button("T wo"), BorderLayout.WEST); Button("Three"), BorderLayout.CENTER); Button("Four"), BorderLayout.EAST); Button("Five"), BorderLayout.SOUTH); Button("Six"), BorderLayout.SOUTH); } 60 }
  • 61. Usinga Panel Panel p = new Panel(); add (p, BorderLayout.SOUTH); p.add p.add (new (new Button Button ("Button ("Button 1")); 2")); 61
  • 62. GridLayout • The GridLayout manager divides the container up into a given number of rows and columns: new GridLayout(rows, columns) • All sections of the grid are equally possible sized and as large as 62
  • 63. Completeexample: GridLayout import java.awt.*; import java.applet.*; public class GridLayoutExample extends Applet public void init () { { setLayout(new GridLayout(2, 3)); add(new add(new add(new add(new add(new Button("One")); Button("T wo")); Button("Three")); Button("Four")); Button("Five")); } } 63
  • 64. CardLayout The class CardLayout arranges each component in the  container as a card. Only one card is visible at and the container acts as a stack of cards. Constructors: a time,  CardLayout() Creates a new card layout with gaps of size zero. CardLayout(int hgap, int vgap) Creates a new card layout with the specified horizontal vertical gaps.   and 64
  • 65. CardLayout Cards are typically held in an object of type Panel.  Panel must have CardLayout selected as its manager. ForAdd component: layout   void add(Component panelObj, Object name);  Methods:  void void void void void first(Container deck) last(Container deck) next(Container deck) previous(Container deck) show(Container deck, String cardName)    65  
  • 66. GridBagLayout GridBagLayout arranges components in a horizontal  and vertical manner. GridBagLayout is the most complex and flexible of the  standard layout managers. GridBagLayout, elements can have different sizes and  can occupy multiple rows or columns. The position and behavior of each element is specified  by an instance of the GridBagConstraints class. The actual grid size is based upon the number of components within the GridBagLayout and the GridBagConstraints of those objects.  66
  • 67. GridBagLayout rectangular grid of cells, with each component occupying one or more cells, called its display area. Each GridBagLayout object maintains a dynamic  Each component managed by a grid bag layout is  associated with an instance of GridBagConstraints that specifies how the component is laid out within its display area. Maximum capacity of a screen using GridBagLayout cells. cells. in  Java 1.0 is 128 128 Java 1.1 is 512 512   67 Constructor:  GridBagLayout() 
  • 68. GridBagLayout one or more of its instance variables: For customize a GridBagConstraints object by setting  gridx, gridy:  Specifies the cell at the upper left of the component's display area, where the upper-left-most cell has address gridx = 0, gridy = 0. gridwidth, gridheight:  Specifies the number of cells in a row (for gridwidth) or column   (for gridheight) in the component's display area. The default value is 1. fill:   Used when the component's display area is larger than the component's requested size to determine whether (and how) to resize the component. 68
  • 70. MenuBar and Menu Top-level window can have a menu bar associated with  it. Amenu bar displays a list of top-level menu choices. Each choice is associated with a drop-down menu. Classes:  MenuBar : Contains one or more Menu objects  Menu : Contains one or more MenuItem objects  MenuItem : Object something selected by user. It is also possible to include checkable menu items     These are menu options of type CheckboxMenuItem and will have a check mark next to them when they are  70 selected.
  • 71. MenuBar and Menu To create a menu bar, first create an instance of MenuBar. Set MenuBar using setMenuBar(MenuBarObject)   Next, create instances of Menu selections displayed on the bar. Constructors: that will define the   Menu( ) Menu(String optionName) Menu(String optionName, boolean   removable)  Individual menu items constructors:  MenuItem( ) MenuItem(String MenuItem(String  71 itemName) itemName, MenuShortcut keyAccel)  
  • 72. MenuBar and Menu Disable or enable a menu item by using:  void setEnabled(boolean enabledFlag) boolean isEnabled( )   Label set and get using:  void setLabel(String newName) String getLabel( )   Checkable menu item by using called CheckboxMenuItem. : a subclass of MenuItem  CheckboxMenuItem( ) CheckboxMenuItem(String itemName) CheckboxMenuItem(String itemName, boolean on)   72 
  • 73. MenuBar and Menu Status about checkable MenuItem:  boolean getState( ) void setState(boolean checked)   For add MenuItem:  MenuItem add(MenuItem item)  For add MenuBar  Menu add(Menu menu)  To get Item from Menu:  Object getItem( )  73
  • 74. Dialog Box Dialog boxes are primarily used to obtain user input.  They are similar to frame windows, except that dialog boxes are  always child windows of a top-level window. Dialog boxes don’t have menu bars. In other respects, dialog boxes function like frame windows. Dialog boxes may be modal or modeless.    When a modal dialog box is active, all input is directed to it until  it is closed. When a modeless dialog box is active, input focus can be directed  to another window in your program. 74
  • 75. Dialog Box Constructors:.  Dialog(Frame parentWindow, Dialog(Frame parentWindow, create Dialog Box: Create Frame orApplet boolean mode) String title, boolean  mode)  To   Create another class which extends Dialog class. Call this new class from Frame/Applet class. In constructor of Extended Dialog class, use super pass vales to constructor of Dialog.   method and  75
  • 76. FileDialog specify a file. Java provides a built-in dialog box that lets the user  To create a file dialog box, instantiate an object of type FileDialog. Constructor:    FileDialog(Frame  FileDialog(Frame  FileDialog(Frame parent, String boxName) parent, String boxName, parent) int how) Int how: FileDialog.LOAD, FileDialog.SA VE Methods: String getDirectory( ) String getFile( ) 76
  • 77. Introduction to Swing Package : javax.swing.* Swing is set of classes which provides more powerful and flexible components as compare toAWT. Build on top ofAWTAPI and a.cts as replacement of AWTAPI. Swing component follows a Model-View-Controller     Swing Components are implemented using Java and so  they are platform independent. Called lightweight components  77
  • 79. Introduction to Swing 100 % Java implementations of components. Use MVC architecture.   Model represents the data View as a visual representation of the data   Controller data takes input and translates it to changes in  79
  • 80. Difference BetweenAWT & Swing AWT usesApplet and Frame while Swing uses JApplet  and JFrame for GUI. AWT is platform dependent platform independent. Swing has bigger collection compare to AWT. code while Swing code is  of classes and interfaces as  In Swing extra feature to Button: Provide Image.  Swing provides: Tree, Table, Scrollpanes, Tabbedpanes  etc new feature which not available inAWT. 80
  • 82. MVCArchitecture Software design pattern for software development. Model:    Major function of this layer to maintain  Database and logic. View: the data.   Used to display full  User Interface Controller: or partial data.   Control the interaction and communication and view.  Communication logic/integration logic between Model 82
  • 84. JApplet and Jframe Extends JApplet/JFrame class.  Design UI in init() or Constructor Add all components on Container JApplet/JFrame. method. instead on   getContentPane() method returns the container object.  Call container add() method to add components. Guess default layout for JApplet/Jframe?   For JFrame close operation: setDefaultCloseOperation()  Parameters:  DISPOSE_ON_CLOSE  EXIT_ON_CLOSE  DO_NOTHING_ON_CLOSE  84
  • 85. JLable and ImageIcon Small display area for Extends Jcomponent. Constructors:  JLabel(Icon i)  Label(String s) text, image or both.     JLabel(String s, Icon i, int align) align argument is either LEFT, RIGHT, CENTER, ImageIcon:  ImageIcon(String filename)  ImageIcon(URLurl)  85
  • 86. JLable and ImageIcon The ImageIcon class implements that declares the methods  int getIconHeight( ) the Icon interface   int getIconWidth( ) Other methods:  Icon getIcon( )  String getText( )  void setIcon(Icon i)  void setText(String s)  86
  • 88. AbstractButton Swing provide Icon with Button text.  Swing buttons are subclasses of the AbstractButton class, which extends Jcomponent.  AbstractButton contains many methods that allow you to  control the behavior of buttons, check boxes, and radio buttons. Setter and Getter:  String getText( )  void setText(String s)  88
  • 90. JCheckBox java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.AbstractButton javax.swing.JToggleButton javax.swing.JCheckBox JCheckBox(Icon i) JCheckBox(Icon i, boolean state) JCheckBox(String JCheckBox(String JCheckBox(String JCheckBox(String s) s, s, s, boolean state) Icon i) Icon i, boolean state) 90
  • 91. JCheckBox void setSelected(boolean ItemEvent is generated. state)   ItemListener interface is needed to to handle ItemEvent. override.  Public itemStateChnaged() used  91
  • 92. JRadioButton java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.AbstractButton javax.swing.JToggleButton javax.swing.JRadioButton JRadioButton(Icon i) JRadioButton(Icon i, boolean state) JRadioButton(String JRadioButton(String JRadioButton(String JRadioButton(String s) s, s, s, boolean state) Icon i) Icon i, boolean state) 92
  • 93. JRadioButton ButtonGroup class is used to ActionEvent is generated. add radio button in group.   ActionListener Listener interface is ActionEvent. needed to handle  public void actionPerofrmed() used to override.  93
  • 94. JComboBox Combination of text field Subclass of JComponet and drop down list.   Only one entry can view at a time. Constructor:  JComboBox( )  JComboBox(V ector v) void addItem(Object obj): Used to   add object in Combobox  94
  • 95. JComboBox: EventHandling ItemEvent is generated. Implements ItemListener interface Override: itemStateChnaged(ItemEvent ItemListener.   ie) method defined by  95
  • 96. JT abbedPane A tabbed pane is a component of folders in a file cabinet. Each folder has a title. that appears as a group   When a user selects a folder, visible. its contents become  Only one of the folders may be selected at a time. Tabbed panes are commonly used for setting configuration options. Subclass of JComponent    96
  • 97. JT abbedPane A tabbed pane is a component of folders in a file cabinet. Each folder has a title. that appears as a group   When a user selects a folder, visible. its contents become  Only one of the folders may be selected at a time. Tabbed panes are commonly used for setting configuration options. Subclass of JComponent    97
  • 98. JT abbedPane Tabs are defined via the following method :   void addTab(String str, Component  Str: title of pane  Comp: component, it can be JPanel Steps to create JTabbedPane: comp)  1. 2. 3. Create a JTabbedPane object. Call addTab( ) to add a tab to the pane. Repeat step 2 for each tab. 4.Add the tabbed pane to the content pane of the Japplet or JFrame 98
  • 99. JScrollPane Ascroll pane is a component that presents a rectangular area which a component may be viewed. in  Horizontal and/or vertical scroll bars necessary. Subclass of JComponent Constructor:  JScrollPane(Component comp)  JScrollPane(int vsb, int hsb) may be provided if     JScrollPane(Component comp, int vsb, int hsb) Comp: Component, vsb and hsb: Scrollbar constant  99
  • 101. JT ree Atree is a component that presents a hierarchical view of data.  Trees are implemented in extends JComponent. Constructors: Swing by the JTree class, which   JTree(Hashtable ht) JTree(Object obj[ ]) JTree(TreeNode tn) JTree(V ector v)     101
  • 102. JT ree AJTree object generates events when a node is expanded or collapsed. The addTreeExpansionListener( ) and removeTreeExpansionListener() methods allow listeners to register and unregister for these notifications. Signature for these methods:     void addTreeExpansionListener(TreeExpansionListener tel)  void removeTreeExpansionListener(TreeExpansionListener tel) 102
  • 103. JT ree TreePath getPathForLocation(intx, int y): TreePath object that encapsulates information about the tree node that was selected by the user. The TreeNode interface declares methods that obtain information about a tree node.    The MutableTreeNode interface extends TreeNode. It declares  methods that can insert and remove child nodes or change the parent node. The DefaultMutableTreeNode class implements the MutableTreeNode interface. It represents a node in a tree. Constructor: DefaultMutableTreeNode(Object obj)   103
  • 104. JT ree To create a hierarchy of tree nodes, the add( ) method of DefaultMutableTreeNode can be used.  void add(MutableTreeNode child) Tree Expansion event described by class:  TreeExpansionEvent (Package: javax.swing.event) The getPath( ) method of this class returns a TreePath.  TreePath getPath( ) TreeExpansionListenerinterface provides the following methods  void treeCollapsed(TreeExpansionEvent tee)  void treeExpanded(TreeExpansionEvent tee)    two  104
  • 105. JT ree  Steps to create Jtree: 1. Create a 2. Create a JTree object. JScrollPane object. tree to the scroll pane. 3.Add 4.Add the the scroll pane to the content pane of the applet. 105
  • 106. JT able Atable is a component that displays rows and columns of data.  Y ou can drag the cursor on column boundaries to columns. Y ou can also drag a column to a new position. Subclass of JComponent Constructor:  JTable(Object data[ ][ ], Object colHeads[ ]) resize      data is a two-dimensional array of the information  colHeads is a one-dimensional array with the column headings. 106
  • 107. JT able  Steps to create Jtable 1. Create a 2. Create a JTable object. JScrollPane object. table to the scroll pane. 3.Add 4.Add the the scroll pane to the content pane of the JApplet or JFrame. 107
  • 108. Vocabulary • AWT – The Abstract Window Toolkit provides basic graphics tools (tools for putting information on the screen) Swing – A much better set of graphics tools Container – a graphic element that can hold other graphic elements (and is itself a Component) Component – a graphic element (such as a Button or a TextArea) provided by a graphics toolkit listener – A piece of code that is activated when a particular kind of event occurs layout manager – An object whose job it is to arrange Components in a Container • • • • • 108