chapter 13 java awt part ii optional l.
Skip this Video
Loading SlideShow in 5 Seconds..
Chapter 13 Java AWT – Part II (Optional) PowerPoint Presentation
Download Presentation
Chapter 13 Java AWT – Part II (Optional)

Loading in 2 Seconds...

play fullscreen
1 / 36

Chapter 13 Java AWT – Part II (Optional) - PowerPoint PPT Presentation

  • Uploaded on

Chapter 13 Java AWT – Part II (Optional). Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E. Reingold. Chapter Preview. In this chapter we will: discuss the use of Java in animating World Wide Web applications

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Chapter 13 Java AWT – Part II (Optional)' - issac

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
chapter 13 java awt part ii optional

Chapter 13Java AWT – Part II(Optional)

Lecture Slides to Accompany

An Introduction to Computer Science Using Java (2nd Edition)


S.N. Kamin, D. Mickunas, E. Reingold

chapter preview
Chapter Preview

In this chapter we will:

  • discuss the use of Java in animating World Wide Web applications
  • show how to write Java applets
  • introduce Java graphical components (e.g. Textfields, Buttons, and Labels)
  • show how Java programs can be made to react to user actions on Java graphical components
  • show how Java applications can be run from inside web browsers
  • A frame is a window with a title bar and a border
  • The Frame class is a subclass of Container class
  • Container class objects may have other components (e.g. Buttons) added to them using the add method
  • A typical Java GUI will create and display one or more frames
  • To make a frame visible the message setVisbible(true) must be sent to the frame
layout managers
Layout Managers
  • Governs how components are arranged inside a Container object
  • The Container method setLayout allows the programmer to specify which layout manager (e.g. FlowLayout) is desired for a particular container object
  • The size of a Container object should be set explicitly by the programmer as well
  • Can use pack() to set size to accommodate preferred sizes of components)
frame example
Frame Example

public class TwoButtons {

Frame f;

Button redButton, blueButton;

public TwoButttons() {

f = new Frame(“Two Buttons Frame”);

redButton = new Button(“Red”);

blueButton = new Button(“Blue”);

f.setLayout(new Flowlayout());







uml notation
UML Notation
  • The filled diamond represents composition
  • This shows that the class TwoButtons contains a class Frame which contains a class Buttons
  • A good UML diagram only shows the classes and associations that are important to understanding the architecture
  • This UML diagram does not include super classes like Component or Container
using inheritance
Using Inheritance
  • It is possible to use inheritance to allow TwoButtons to become a frame in its own right
  • Note that the UML diagram will show TwoButtons as a subclass of Frame
  • You will need to use super()to set the frame title
frame inheritance example
Frame Inheritance Example

public class TwoButtons extends Frame {

Button redButton, blueButton;

public TwoButttons() {

super(“Two Buttons Frame”);

redButton = new Button(“Red”);

blueButton = new Button(“Blue”);

f.setLayout(new Flowlayout());







other simple java components
Other Simple Java Components
  • Label
    • contains some text that can be set using a constructor or the method setLabel
  • TextField
    • a box into which the user can type text
    • text can be edited (backspace, delete, etc.)
    • text can be retrieved using getText()
    • text can be set using setText()
java awt event model
Java AWT Event Model

Including reactive program components involves:

  • Having the class header declare itself as implementing the ActionListener interface
  • Typically in the class constructor the class instance registers itself as being interested in listening for events from a newly created component
  • One method (e.g. actionPerformed) of the ActiveListener interface is defined
frame inheritance example13
Frame Inheritance Example

public class classname extends Frame implements ActionListener {

Button buttonname;

public classname() {

buttonname = new Button(“button label”);




public void actionPerformed(ActionEvent e) {

… what to do when button is pushed …



uml notation for button program
UML Notation for Button Program
  • Abstract class indicated by italicizing the class name
  • Implements association (concrete class) indicated by line with a closed arrowhead
  • UML stereotype (constructors, accessor, interface implementation methods) indicated by enclosing a descriptive word inside guillements << >>
closing the window
Closing the Window
  • You must implement the WindowListener and its seven required methods

windowActivated, windowClosed, windowClosing, windowDeactivated, windowIconified, windowDeiconified, windowOpened

  • This is usually done in a programmer defined class like ClosableFrame and all classes needing these services would extend ClosableFrame
using conditionals with reactive components
Using Conditionals with Reactive Components

public void actionPerformed(ActionEvent e) {

double fahr, cent;

// check for user input in tFahr TextField

if (e.getSource() == tFahr) {

fahr = new Double(tFahr.getText()),doubleValue();

cent = 5.0 * (fahr – 32.0) / 9.0;

tCent.setText(cent + “”); // update tCent TextField


else {

cent = new Double(tCent.getText()),doubleValue();

fahr = 9.0 * cent / 5.0 + 32.0;

tFahr.setText(fahr + “”);


  • Used to allow user to select one or more items
  • Always has a label
  • Program often needs to react to the user selection(s)
  • Declaration example:

Checkbox powerBrakes = new Checkbox(“Power Brakes”);

Checkbox powerSteering = new Checkbox(“Power Steering”);

Checkbox ac = new Checkbox(“Air Conditioning”);




programming checkboxes
Programming Checkboxes
  • Program is declared with implements ItemListener
  • Checkbox is registered by calling addItemListener
  • Event is handled using itemStateChanged argument type ItemEvent
  • The ItemEvent argument is used to tell which item triggered the event by calling getSource
radio buttons
Radio Buttons
  • A group of Checkboxes in which only one item can be selected at a time
  • Implemented using a Java CheckboxGroup
  • Items are declared initially as selected (true) or unselected (false)
  • Example:

CheckboxGroup gender;

Checkbox maleCheck =

new Checkbox(“Male”, gender, true);

Checkbox femaleCheck =

new Checkbox(“Female”, gender, true);

processing radio buttons
Processing Radio Buttons

public void compute() {

boolean female =

(gender.getSelectedCheckbox() == femaleCheck);

if ((bodyMassIndex > 27.8) ||

(female && (bodyMassIndex > 27.3))

lHigh.setText(“This is considered high”);


1High.setText(“this is not considered high”);


drawing in a frame
Drawing in a Frame
  • To draw in a Frame you need to the override the frame’s paint method:

public void paint(Graphics g)

  • Graphics objects are defined by the Java runtime system and are used for drawing operations
  • The Frame should be considered to be a grid with upper left coordinates (0,0) and positive coordinates (x,y) for the lower right
typical drawing code
Typical Drawing Code

public class MyDrawing extends ClosableFrame {

public MyDrawing() {


public void paint(Graphics g) {





repaint and update
Repaint and Update
  • The paint method requires an argument and actionPerformed does not know what to supply when called
  • The method repaint will clear the Frame and then call paint along with supplying the needed missing argument
  • You can prevent clearing the Frame when using repaint by overriding the method update before calling repaint
panel and canvas classes
Panel and Canvas Classes
  • The Panel class is container subclass that is used to reserve a rectangular portion of a Frame to place other components
  • The Canvas class is not a Container subclass, but does allow you to reserve a portion of a Frame to draw in
comparing layout managers
Comparing Layout Managers


  • Default frame layout
  • Components are placed on new line only when needed


  • Frame is declared as a grid of fixed size (e.g. two rows and three columns)
  • Components are placed in the grid left to right and top to bottom


  • Frame is divided into north, south, east, west, and center
  • Components are placed by the programmer in the desired location using the add method
typical gui frame
Typical GUI Frame

Panel p1 = new Panel();

p1.setLayout(new GridLayout(2,1));



Panel p2 = new Panel();



setLayout(new BorderLayout());

add(“North”, p1);

add(“Center”, p2);

  • The leftmost position of a horizontal scrollbar corresponds to some integer value and the rightmost position corresponds to a larger integer value
  • Scrollbars can be displayed vertically
  • User movement options
    • Clicking either end button causes bubble to move in unit increments
    • Clicking the are between bubble and end button causes movement in 10 unit increments
    • Clicking and dragging the bubble in the desired direction
hypertext markup language html skeleton
Hypertext Markup LanguageHTML – Skeleton



<TITLE>Page Title</TITLE>



Text and graphics to display in browser



html text displays
HTML Text Displays
  • Displays a centered heading in browser window


<H1>Naploean I</H1>


  • To identify text paragraphs to be displayed


In my spare time I like to do origami

and spend quiet evenings at home with my wife Josephine.


html using pictures and links
HTML Using Pictures and Links
  • Displays a centered picture


<IMG SRC=“jojo.jpg”>


  • To display a text link to another web page

<A HREF=“jojo.html”>Josephine</A>

  • To display a picture link to another web page

<A HREF=“jojo.html”><IMG SRC=“jojo.jpg”></A>

applet tag and html
Applet Tag and HTML
  • To include a Java applet as part of an HTML document

<APPLET CODE=“BodyMass.class” WIDTH=0 HEIGHT=0>


  • Java applet shell for BodyMass.class

import java.applet.*;

public class BodyMass extends Applet {

public_html void start() {

new BodyMass();



transforming a java program into an applet
Transforming a Java Program into an Applet
  • Set the size you want the applet to be in the HTML file
  • Add the import statement to the Java code java.applet.*;
  • Change header from extends Frame to extends Applet
  • Change constructor heading to

public void start();

  • Eliminate any Java code that is meaningless in applets