Tom Kelliher, CS 116
Sept. 13, 2000
On the class home page, there is a link to online documentation for Java 2 packages and classes: Java2 Packages and Classes Reference.
Look carefully at the Logo example in Section 2.3.
Applets, methods.
Add.java.
Logo example: elements of programming style.
Observe:
add() method:
//======================================================================
// Project: CS 116, applet demo
// Author: Tom Kelliher
// File: Add.java
// Purpose: To further demonstrate some simple properties of
// applets.
//======================================================================
import java.applet.*;
import java.awt.*;
//======================================================================
// Class: add
// Purpose: Display the sum of two integers.
//======================================================================
public class Add extends Applet
{
int augend = -45;
int addend = 34;
Font f = new Font("Helvetica",Font.BOLD,18);
//===================================================================
// Method: init
// Purpose: Set background color.
//===================================================================
public void init()
{
setBackground(Color.blue);
}
//===================================================================
// Method: paint
// Purpose: Set foreground color and font.
// Display the sum string.
// Input: A graphics object.
//===================================================================
public void paint(Graphics g)
{
int sum;
sum = add(augend, addend);
g.setColor(Color.yellow);
g.setFont(f);
g.drawString(augend + " + " + addend + " = " + sum, 50, 50);
}
//===================================================================
// Method: add
// Purpose: Add two integers, returning their value.
// Input: Two integers.
// Output: Returns the sum of the integer.
//===================================================================
public int add(int a, int b)
{
int s; // The sum.
s = a + b;
return s;
}
}
Run
the applet.
Relationship between method call and method declaration:

Method call sequence:
int a = 10; int b = 12; int sum; sum = add(a + 5, b / 3); // What is sum's value?
A few notes:
drawOval(int x, int y, int width, int height); // Draws oval outline. fillOval(int x, int y, int width, int height); // Draws filled oval.Figures drawn in current color.
Color myColor = new Color(100, 0, 255);Red, green, blue components in range 0...255.
Assume the following applet runs in a window of size 400 pixels by 400 pixels. What will it look like? Predict what it will look like, then grab the source code from the class home page, create a project, and run.
//======================================================================
// Project: CS 116, Simple 2-D graphics demo
// Author: Tom Kelliher
// File: Graphics2d.java
// Purpose: To demonstrate some simple 2-D graphics and some
// object manipulation
//======================================================================
import java.applet.*;
import java.awt.*;
//======================================================================
// Class: Graphics2d
// Purpose: Display some simple graphical elements.
//======================================================================
public class Graphics2d extends Applet
{
//===================================================================
// Method: init
// Purpose: Set background color.
//===================================================================
public void init()
{
setBackground(Color.black);
}
//===================================================================
// Method: paint
// Purpose: Display the graphical elements.
// Input: A graphics object.
//===================================================================
public void paint(Graphics g)
{
// Create two custom colors.
Color myColor1 = new Color(200, 0, 100);
Color myColor2 = new Color(0, 150, 200);
// Create a rectangular box for sizing graphical elements later.
Rectangle myRect = new Rectangle(50, 100, 50, 100);
// Draw a filled rectangle.
g.setColor(myColor1);
g.fillRect(myRect.x, myRect.y, myRect.width, myRect.height);
// Draw a second filled rectangle, shifted from the first.
myRect.translate(100, 100);
g.setColor(myColor2);
g.fillRect(myRect.x, myRect.y, myRect.width, myRect.height);
// Draw a filled oval, shifted yet again.
myRect.translate(0, -150);
g.setColor(myColor1);
g.fillOval(myRect.x, myRect.y, myRect.width, myRect.height);
// Shrink the rectangular box by one-half and draw an oval
// outline.
myRect.grow(-12, -25);
g.setColor(Color.black);
g.drawOval(myRect.x, myRect.y, myRect.width, myRect.height);
// Draw a line.
g.setColor(myColor2);
g.drawLine(50, 50, 350, 350);
// Draw text.
g.setColor(Color.red);
g.setFont(new Font("Serif", Font.ITALIC, 20));
g.drawString("The 20 Pt. italic Serif font", 20, 40);
// Draw more text.
g.setColor(Color.green);
g.setFont(new Font("SansSerif", Font.BOLD, 30));
g.drawString("The 30 Pt. bold SansSerif font", 20, 375);
}
}