Color (int r, int g, int b)where r is the integer code for red, g the code for green, and b the code for blue. For example, the following declares the Color object myColor and instantiates it to a color with code 255 for red, 0 for green, and 255 for blue.
Color myColor = new Color(255, 0, 255);The statement page.setColor(myColor) then will set the foreground color for the page to be the color defined by the myColor object.
The file Colors.java contains an applet that defines myColor to be a Color object with color code (200, 100, 255) - a shade of purple - and later redefines myColor to be a Color object with code (100, 100, 200). Save the program and its associated HTML file Colors.html to your lab4 directory (for the HTML file right click on this link to save). Compile the program then run it using the appletviewer (remember the command is appletviewer Colors.html).
Open Colors.java in emacs and do the following:
Color (int rgb)The first 8 bits of the integer argument are ignored while the last 24 bits define the color -- 8 bits for red, 8 for green, and the last 8 bits for blue. Hence, the bit pattern
00000000000000001111111100000000should represent pure green. Its base 10 value is 65280. Just before your code for the rectangle (but after the comment about drawing a rectangle) add a new instantiation of the myColor object to
myColor = new Color (65280);You also need to use the setColor method to set the color to myColor. Compile and run the program. Is your rectangle green?
int getRed()returns the code for the red component of the myColor object (redCode should be a variable of type int). The methods that return the green and blue components are getGreen and getBlue, respectively. Add statements to the program, similar to the above, to get the three color codes (you need to declare some integer variables to store the codes). Then add statements such as
page.drawString("Red: " + redCode, ____ , ____ );to label the rectangle with the three color codes (this assumes your variable for the red attribute is redCode). You need to fill in the blanks with appropriate coordinates so each string is drawn inside the rectangle -- to do this make adjustments to the x and y coordinates for the rectangle. You also need to set the drawing color to something such as black so the strings will show up. Compile and run the program to make sure it works. Restart several times to see the different colors and their corresponding codes displayed.
HTML is the HyperText Markup Language. It is used to describe how text, images, and multimedia are displayed by Web browsers. In the last lab you used an HTML file to display your applets. In this lab you will learn more about HTML so that you can create a web page containing headings, interesting fonts, lists, and links as well as applets. This handout provides an introduction to HTML.
HTML uses tags to describe the layout of a document;
the browser then uses these tags to figure out how to display
the document. Tags are enclosed in angle brackets and are not
case sensitive. For
example,
<title> is a tag that indicates that this section
contains the title of
the document, and could also be written <TITLE> or <Title>.
Many tags, including
<title>, have corresponding end tags that indicate
where the section ends. The end tags look just like
the start tags except that they start with the character
/, e.g., </title>. So the following text means
that the title of the document is CPSC 120 Lab 4
:
<title>CPSC 120 Lab 4</title>There are a few tags that almost every document will have: <html>, <head>, <title>, and <body>. Here is an example of a simple HTML document:
<html> <head> <title>CPSC 120 Lab 4</title> </head> <body> In this lab you will learn about HTML, which is lots of fun to use. In particular, you will learn how to use fonts, paragraphs, lists, links and applets in a web page. Now you can make your own web page for your friends to visit! </body> </html>Click here to see what this looks like in Firefox. Change the size of the Firefox window (click and drag any corner) and see how the text is reformatted as the window changes. Note that the title appears on the title bar of the window, not as part of the document.
The head of a document (everything between <head> and </head>) contains the introduction to the document. The title goes in the head, but for now we won't use the head for anything else. The body of a document (everything between <body> and </body>) contains everything that will be displayed as part of the document. Both the head and the body are enclosed by the HTML tags, which begin and end the document.
This document contains only plain text, but an HTML document can have much more structure: headings, paragraphs, lists, bold and italic text, images, links, tables, and so on. Here is a document containing a heading, two paragraphs, and some fancy fonts:
<html> <head> <title>CPSC 120 Lab 4</title> </head> <body bgcolor="lightgreen"> <h1 align="center">Lab 4 In-Class</h1> There's lots you can do with HTML. You can make the page a pretty color, <u>underline</u> text, or put it in <i>italics</i> or <b>bold</b>. You can also make lists, links, and tables, but we'll get to those later. <p>When you go on to a new topic, you can start a new paragraph. You don't have to worry about indenting or otherwise formatting the paragraph -- the browser will decide that for you. Usually it leaves a blank line. If you just want to go to a new line, without any vertical space, you <br> can <br>do <br> that <br> too. </body> </html>Click here to see what this looks like in the browser.
In this document the <h1> tag creates a level 1 heading. This is the biggest heading; it might be used at the beginning of the document or the start of a new chapter. Level 2 through level 6 headings are also available with the <h2> through <h6> tags.
The <p> tag creates a new paragraph. Most browsers leave a blank line between paragraphs. The <br> tag just goes to the next line, without leaving a blank line. The <b> tag creates bold text, the <i> tag creates italic text, and the <u> tag creates underlined text. Note that each of these tags is closed with the corresponding end tag. The bgcolor attribute on the body tag sets the background color.
Note that line breaks and blank lines in the HTML document do not matter -- the browser will format paragraphs to fit the window. If it weren't for the <P> tag, the blank line between the paragraphs in this document would not show up in the displayed document.
cs.roanoke.edu
is
set up to look in the
public_html
directory under each user's home
directory on the Linux server, so you need to create this directory as follows:
chmod a+x .
public_html
.
Be sure it's all lower case.
chmod a+r public_html
astudent
and the file name is
Test.html
, the URL for your page is
http://cs.roanoke.edu/~astudent/Test.htmlNow on to the exercise!
In Emacs, open a new file called MyPage.html in your public_html directory. Write a simple web page about things that interest you. Your page should contain at least the following:
When you are done, view your document from Firefox. Just type in the URL, don't use File | Open Page.
Lists We often want to add a list to a document. HTML provides two kinds of lists, ordered (e.g., 1, 2, 3) and unordered (e.g., bulleted). A list is introduced with the <ol> or <ul> tag, depending on whether it is ordered or unordered. Each list item is introduced with a <LI> tag and ended with the </LI> tag. The entire list is then ended with </ol> or </ul>, as appropriate. The following is an ordered list of instructions for creating a list:
<ol> <li>Type the tag <ol> (if you want an ordered list) or <ul> (if you want an unordered list) <li>For each item in your list, type the <li> tag followed by the text you want in the list. <li>To end the list type the tag </ol> or </ul> (depending on the list type - match the beginning tag) </ol>Click here to see what this looks like in the browser.
Links Links connect one document to another. Links are created in HTML with the <a> tag. When creating a link you have to specify two things:
Visit <a HREF="http://cs.roanoke.edu/Fall2006/CPSC120A">my favorite course!</a> Visit my favorite course!
Tables Tables let you align elements in rows and columns; they can be used in the traditional way to display data, or simply to format page elements. There are three important tags for an HTML table:
<table border=1> <tr> <td>Name</td> <td>Test 1</td> <td>Test 2</td> </tr> <tr> <td>Mickey Mouse</td> <td>78</td> <td>92</td> </tr> <tr> <td>Donald Duck</td> <td>83</td> <td>87</td> </tr> </table>
Name | Test 1 | Test 2 |
Mickey Mouse | 78 | 92 |
Donald Duck | 83 | 87 |
A few things to note:
Images You can add any picture to a web page with an <img> tag. The tag must specify the source file using the SRC attribute. For example,
<img SRC="smiley.gif">adds the picture in the smiley.gif file (note - this assumes that file is stored in the same directory as the web page). You can scan pictures, use pictures taken from a digital camera, or get copies of pictures that are on the web (as long a they are not copyrighted!). The image files should be either .jpg or .gif since most browsers know how to display these formats (in other words they know the compression algorithms that can decode the image).
Placement of images can be tricky - they often don't show up where you want. Using a table to help place them is a common trick. You'll do this in post lab!
So far we have drawn rectangles, ovals,and strings but there's lots more that can be done with Java graphics. For starters, you can draw lines and arcs. All of these shapes can be drawn in outline with the "draw" methods (drawRect, drawArc, etc), or drawn in filled in form with the "fill" methods (fillRect, fillArc, etc).
Refer to the list of graphics method on page 98. The descriptions are on pages 97-99. Pay particular attention to how an arc is defined (note the diagram on page 99).
Now save files MoreShapes.java and MoreShapes.html to your lab4 directory. Look at the .java file, then compile it and view it using the appletviewer (the command is appletviewer MoreShapes.html). (Note: Sometimes the background color doesn't initially show up - use the Applet | Restart option on the menu to get the color.) To be sure you understand the arc methods open MoreShapes.java in emacs and do the following:
Exercise #5: Write an applet that draws a pie chart showing the percentage of household income spent on various expenses. To do this either copy MoreShapes.java to PieChart.java and then edit it (you'll have to delete a lot) or open a new file. Similarly copy MoreShapes.html to PieChart.html and edit it.
For your pie chart use the percentages below:
Rent and Utilities | 35% |
Transportation | 15% |
Food | 15% |
Educational | 25% |
Miscellaneous | 10% |
Exercise #6: Now add your applet to the web page you created earlier in the lab. You will do this using the <APPLET> tag that is in the .html file you are using with the applet viewer -- you can just copy it out of that file and paste it into your other file (choose a size for the applet that makes sense). The applet will appear wherever you insert the applet tag. Note that you will have to copy the PieChart.class file to your public_html directory for the web server to find it. Of course, the web page that you created earlier should already be in that directory.
tar czf lab4.tgz .
)
and send the tar file to your instructor. Be sure the subject line
says cpsc120 lab4.