Lab 1: Using BlueJ at UofW

advertisement
ACS-1903
Lab 1: Using BlueJ
Fall 2007
Using BlueJ at UofW
The purpose of this lab is to give you experience with BlueJ. Over the course of the term,
in classes and in labs, you will receive more instruction. If you have any questions
during this lab do not hesitate to ask your lab demonstrator.
In this lab you will :
 Start BlueJ
 Create a new BlueJ project
 Compile and run a Java program
 Interact with an object system by sending messages
The example deals with objects that are squares, triangles and circles. We will not
discuss the Canvas class. Its responsibilities are to draw or repaint the images we see on
the screen. (You can consider the Canvas class later on this term.)
We will obtain the files from the web and import them into a project that we create.
Answer the questions on the following pages and hand in these sheets to the lab
demonstrator.
Student Identification
Student number
____________________________________________
Last name
____________________________________________
First name
____________________________________________
Workstation user id
____________________________________________
Email address
____________________________________________
1
ACS-1903
Lab 1: Using BlueJ
Fall 2007
1. Logon to your workstation
Logon to a workstation (logon information is available from the lab demonstrator).
2. Obtain the Java files
Create a folder on your workstation called MyShapesSource. This folder could be
located in MyDocuments. Dowload the four java files that are found at
http://io.uwinnipeg.ca/~rmcfadye/1903/shapes/ to your MyShapesSource folder.
3. Start BlueJ
Click Start, then click on Programs, then click on BlueJ, and then click the BlueJ program
Start >> Programs >> BlueJ >> BlueJ
4. Create a BlueJ Project
Create a project called MyShapes by selecting New Project from the Project Menu. It can
be useful to you if you store such a project on the H drive. You have access to this drive
from both computer labs.
Project >> New Project
2
ACS-1903
Lab 1: Using BlueJ
Fall 2007
5. Importing java files
Import the four java files to your shapes project by using the Import option found in the
Project menu:
Project >> Import, and select MyShapesSource
After the files are imported you will see a window such as:
The files must be compiled; use the Compile option from the Tools menu:
3
ACS-1903
Lab 1: Using BlueJ
Fall 2007
Tools >> Compile
When the compile is done
you will see the message
You may get warnings from the compiler which you should be able to ignore.
Now your Java classes can be used, but first we will examine one of the source files.
6. Reviewing the Java Program
You can view a Java class by double-clicking on the appropriate rectangle in the above
display.
Double-click on the orange rectangle named Triangle. This action opens the class editor.
Double-click
4
ACS-1903
Lab 1: Using BlueJ
Fall 2007
Reviewing the Triangle class
Examine the code on your workstation, and note there is coloured text in use: some red,
some blue, etc. BlueJ uses colour to denote special aspects of the code.
The first line is a Java import statement.
import java.awt.*;
In this case the program is stating that it will use a Java library known as awt. The editor
shows the word import is in red because it is keyword.
The blue-coloured text is used for comments.
Following the comments, you will see the beginning of the Triangle class.
public class Triangle
{
private int height;
private int width;
private int xPosition;
private int yPosition;
private String color;
private boolean isVisible;
A class always begins with the keywords public class followed by its name; in this case
Triangle.
The above shows the variables in Triangle. These hold values that describe a particular
triangle (its height, width, position, etc).
Following the lines giving the name of the class and its variables, we see a method that is
executed whenever we ask for an instance of the Triangle to be created. This type of
method is called a constructor method.
public Triangle()
{
height = 30;
width = 40;
xPosition = 50;
yPosition = 15;
color = "green";
isVisible = false;
}
5
ACS-1903
Lab 1: Using BlueJ
Fall 2007
Questions
Where do new triangles position themselves when they are instantiated?
Answer: __________________________________________________
What colour is given to a newly instantiated triangle?
Answer: __________________________________________________
How high is a newly instantiated triangle?
Answer: __________________________________________________
How wide is a newly instantiated triangle?
Answer: __________________________________________________
Following the “constructor” method, we have several methods which begin with the
words public void followed by the name of the method. Each method defines a
responsibility an object has, or a capability it has. In this example you will see that a
triangle can
make itself visible
make itself invisible
move to the right
move to the left
etc.
The programmer that designed shapes decided that triangles should be responsible for
making themselves visible and invisible, moving themselves right, left, up, or down on
the screen. As you will see, we can ask a triangle to do these things.
Questions:
What can we ask a triangle to do? (The answer is the names of its methods)
Answer:
6
ACS-1903
Lab 1: Using BlueJ
Fall 2007
At this time it is important that you realize a class may have many methods and that each
is designed for a specific purpose: to become visible, to become invisible, to move up,
etc. Do not be concerned with exactly how each of those is done… that will come later
on in the course.
There is a concept called anthropomorphism that is important to object programming.
(Consult a dictionary if needed, or wikipedia.) Java programmers will design systems
with classes where each method is some responsibility that an object of that class has.
Consider an ordinary office where people are employed and each person is given specific
responsibilities. When asked, a person will perform a particular duty such as completing
an invoice, issuing a cheque and so on. The same principle is applied to object-oriented
computing systems.
After exploring the Triangle class, we know that triangles can be asked to do very
specific things.
7. Interacting with the shapes program
Let’s create a triangle …. Remember the constructor method – the triangle will initially
be invisible and so we will ask it to make itself visible.
Begin by right-clicking the Triangle class and choose newTriangle(). You will be asked
to name the triangle.
7
ACS-1903
Lab 1: Using BlueJ
Fall 2007
When you click OK for naming the triangle you will see a red object appear on your
screen indicating that you have instantiated an object.
Right-click on an object and the messages it can respond to are shown.
Choose makeVisible().
8
ACS-1903
Lab 1: Using BlueJ
Fall 2007
After selecting makeVisible() look at the bottom of your screen. You should see a new
button,
If you don’t see the following image, then click this button and you will see your
program’s output.
Question What happens when you instantiate a second triangle and make it visible?
Answer:
So far we have only considered the Triangle class. Examine the Square and Circle
classes.
Now… make a square. Make it visible.
Can you align it directly under the triangle? You may need to send the square or triangle
some messages. Don’t hesitate to experiment.
To instantiate a square and have it align directly under the triangle, you needed to send
various messages asking for certain things to be done.
Question What messages did you send to the triangle and/or the square after they were
instantiated to have them aligned vertically?
Answer:
9
Download