CIS 790 JAVA SURVIVAL TRAINING PROF. AUCIELLO
1. COMPILE THIS PROGRAM. CUT IT OUT BELOW AND PASTE IT
INTO WRITE.
CUT BELOW THIS LINE.
======================================================
import java.awt.Graphics; // req. for app & prog
import java.awt.*;
public class jst1 extends java.applet.Applet // req for app
{ public void paint(Graphics g) // req for app
{ Font f10 = new Font("Sans Serif", Font.BOLD, 10); // define Font
g.setFont(f10); // setFont is part of the graphics 'library'
// setFont is now 'linked' with the program.
setBackground(Color.yellow);
g.setColor(Color.red);
g.drawString("I NEED TO SEE THIS MESSAGE DISPLAYED NOW, PLS!",10,100);
} // end paint method.
} // end class.
===========================================
STOP CUTTING ABOVE THIS LINE.
===========================================
2. CUT IT, AND PASTE IT NOW.
================================================
3. COMPILE IT. YOU MUST HAVE RESULTS THAT LOOK LIKE THIS:
NEXT, RUN THE COMPILER. PLS BE SURE THAT jst1.java is external name
AND jst1 is the internal name. ASK RIGHT NOW IF YOU DONT UNDERSTAND
THAT.
C:\Jdk1.1.2\bin>javac jst1.java
IF THERE ARE NO ERRORS, THEN IT COMPILED CORRECTLY.
THERE SHOULD NOT BE ANY ERRORS, BECAUSE YOU COPIED
AN EXISTING JAVA SOURCE PROGRAM. IF YOU HAVE A
COMPILER ERROR THAT YOU CAN NOT FIGURE OUT, ASK FOR
HELP RIGHT NOW!
YOU SHOULD HAVE THESE TWO FILES BELOW: ASK FOR HELP IF
YOU DONT.
C:\Jdk1.1.2\bin>dir jst1.*
JST1~1 JAV 620 09-26-99 3:04a jst1.java
JST1~1 CLA 741 09-26-99 3:04a jst1.class
4 file(s) 2,604 bytes
0 dir(s) 688,128 bytes free
YOU SHOULD BE CLEAR THAT jst1.class was CREATED WHEN
jst1.java GOT COMPILED.
NOTICE THE 4 LETTER EXTENSIONS AND THE lower case!
======================================================
4. PRINT THIS OUT, AND TYPE jst1 IN RIGHT NOW. THAT'S RIGHT.
BECAUSE OF INVISIBLE LETTERS, CASE PROBLEMS,
PROBLEMS WITH EXTENSIONS, ETC, JST MANDATES THAT
YOU TYPE THIS PROGRAM IN WITH "WRITE".
PLEASE EXPERIMENT AFTER THE MODEL IS WORKING, NOT BEFORE.
=========================================================
5. AFTER YOU TYPE IT, CHANGE ITS NAME TO jst2.java
(SO THAT YOU STILL HAVE A BACKUP -- YOU ARE IN
SURVIVAL TRAINING SO YOU ARE NOT DUMB)
HERE IS MY LISTING THAT I TYPED OUT (TO BE SURE)
// jst2.java
import java.awt.Graphics; // req. for app & prog
import java.awt.*;
public class jst2 extends java.applet.Applet // req for app
{ public void paint(Graphics g) // req for app
{ Font f10 = new Font("Sans Serif", Font.BOLD, 10); // define Font
g.setFont(f10); // setFont is part of the graphics 'library'
// setFont is now 'linked' with the program.
setBackground(Color.yellow);
g.setColor(Color.red);
g.drawString("I NEED TO SEE THIS MESSAGE DISPLAYED NOW, PLS!",10,150);
} // end paint method.
} // end class.
=======================================================
6. NOW COMPILE IT AGAIN. IMMED ASK FOR HELP IF IT DOES
NOT COMPILE.
DONT GO FURTHER, IF YOU DON'T HAVE A CLEAN COMPILE.
PROVE THAT YOU HAVE jst2.class by looking at the Directory!
JST2~1 CLA 741 09-26-99 3:48a jst2.class
JST2~1 JAV 622 09-26-99 3:48a jst2.java
2 file(s) 2,127 bytes
0 dir(s) 15,646,720 bytes free
TRIPLE-CHECK YOUR WORK. DONT TAKE CHANCES!
=========================================================
7. COPY AND PASTE THE HTM CODE (BELOW) TO A NEW FILE CALLED
'Jst2.html'
DONT CODE THE XMP -- THAT IS A SPECIAL HTML TAG.
BE SURE THAT THE CLASS NAME IS jst2.class
THIS ALLOWS 'Jst2.html TO BE READ BY THE BROWSER, WHICH
INVOKES (CALLS) jst2.class (WHICH IS YOUR JAVA APPLET).
ASK FOR HELP IMMED, IF YOU DONT GET THIS.
============================================================
8. ACTIVATE NETSCAPE. LOAD AS A LOCAL FILE 'Jst2.html'
ONLY LOAD THIS FILE, DONT ACCEPT SUBSTITUTIONS. IT
MUST BE SPELLED EXACTLY LIKE 'Jst2.html' DONT LET
NETSCAPE TRICK YOU!
C:\Jdk1.1.2\bin>dir J*.*
Directory of C:\Jdk1.1.2\bin
JST2~1 HTM 71 09-26-99 3:34a Jst2.html
DOUBLE-CHECK EVERYTHING, 3 TIMES, TAKE NO CHANCES!
I AM LOADING NETSCAPE, THEN LOADING Jst2.html Good Luck!
.....
I GOT THE MESSAGE DISPLAYED! IT RAN.
(TAKE A 5 MIN BREAK)
=======================================================
9. NOW WE ARE GOING TO PUT A PICTURE IN IT.
PLS USE A GIF (CONVERT IF YOU HAVE TO). MAKE SURE
THE GIF IS IN THE SAME FOLDER, SPELLED EXACTLY
LIKE THE ITS REFRENCE IN THE JAVA APPLET!
WE HAVE monica.gif NOTE lower case LETTERS!
I AM ADDING THE FOLLOWING LINE:
Image gifname270 = getImage(getDocumentBase(),"monica.gif");
AND A SECOND LINE:
g.drawImage(gifname270, 400, 65, this);
THESE ARE JAVA STATEMENTS THAT DEFINE THE IMAGE, AND
DRAW IT AT HORIZONTAL 100, VERTICAL 165.
ASK FOR HELP IF YOU DONT UNDERSTAND THAT.
==================================================
10. I AM INSERTING STATEMENTS INTO jst3.java
// jst3.java
import java.awt.Graphics; // req. for app & prog
import java.awt.*;
public class jst3 extends java.applet.Applet // req for app
{ public void paint(Graphics g) // req for app
{ Font f10 = new Font("Sans Serif", Font.BOLD, 10); // define Font
g.setFont(f10); // setFont is part of the graphics 'library'
// setFont is now 'linked' with the program.
setBackground(Color.yellow);
g.setColor(Color.red);
Image gifname270 = getImage(getDocumentBase(),"monica.gif");
g.drawImage(gifname270, 400, 65, this);
g.drawString("I NEED TO SEE THIS MESSAGE DISPLAYED NOW, PLS!",10,100);
} // end paint method.
} // end class.
========================================
11. TRIPLE-CHECK TIME AGAIN.
HERE IS THE DIRECTORY:
C:\Jdk1.1.2\bin>dir jst3.*
JST3 JAV 745 09-26-99 4:05a JST3.JAV
JST3~1 JAV 745 09-26-99 4:05a jst3.java
JST3 HTM 71 09-26-99 4:06a JST3.HTM
3 file(s) 1,561 bytes
0 dir(s) 4,505,600 bytes free
NOTE ONLY THE LAST 2 WILL DO YOU ANY GOOD!
NOTE THERE IS NO jst3.class WHICH MEANS THAT I HAVE
TO COMPILE!
COMPILED IT. GOT THE CLASS. READY TO TEST!
WILL MONICA'S PICTURE APPEAR?
=========================================
12. MORE TRIPLE-CHECKING
BE SURE THE FOLLOWING ARE IN YOUR DIRECTORY:
C:\Jdk1.1.2\bin>DIR JST3.*
Directory of C:\Jdk1.1.2\bin
JST3~1 JAV 745 09-26-99 4:05a jst3.java
JST3~1 CLA 985 09-26-99 4:10a jst3.class
JST3~1 HTM 71 09-26-99 4:06a Jst3.html
5 file(s) 2,617 bytes
0 dir(s) 786,432 bytes free
THEN MAKE SURE THAT Jst3.html refers to jst3.class !!!
C:\Jdk1.1.2\bin>type Jst3.html
IT DOES. SWITCH TO NETSCAPE. LOAD Jst3.html
STAND BY!
WORKS! (200 POINTS TO HERE)
NOTE: WHEN USING NETSCAPE, IT IS BEST TO EXIT NETSCAPE,
THEN RELOAD THE FILE FRESH, ELSE IT TAKES IT FROM THE
BUFFER.
================================
13. GET BOLD, AND TRY TO INSERT LOOP.
CALL IT jst4.java
public class jst4 extends java.applet.Applet
{ public void paint(Graphics g)
{ int red = 20; int x=1; int xxx = 0; // very important!!!
Font f10 = new Font("Sans Serif", Font.BOLD, 10);
g.setFont(f10);
setBackground(Color.yellow);
g.setColor(Color.red);
Image gifname270 = getImage(getDocumentBase(),"monica.gif");
g.drawImage(gifname270, 400, 65, this);
g.drawString("I NEED TO SEE THIS MESSAGE DISPLAYED NOW, PLS!",10,100);
while (x<11)
{ g.setFont(f10);
g.drawString("This is helping me to understand loops --"+ x + " iteration.",10,red*10);
repaint();
red += 1;
x += 1;
while (xxx < 50000)
{xxx += 1;}
xxx = 0;
} // end while loop.
} // end paint method.
} // end class.
NOTE: GET THIS LOOP INTO THE APPLET. NAME IT jst4.java. PROCEED.
DEFINE VARIABLES!
=====================================================
14. COMPILE IT.
=====================================================
15. THIS IS THE RESULT TO HERE.
================================
16. FOLLOWING THE PRINCIPLE OF BUILDING ON SUCCESS,
LOAD jst5.java and save it as jst6.java.
Note: I just added a lot of links to the class library.
import java.awt.*;
import java.awt.Graphics;
import java.applet.*;
import java.applet.Applet;
import java.awt.Color; // color
import java.awt.event.*;
import java.awt.Font; // font
import java.awt.image.*; // req for images.
import java.lang.Math;
import java.util.Date;
import java.util.Random;
import java.util.*;
public class jst6 extends java.applet.Applet
{ TextField textField1; // <--- added
String name; // <---- added/
public void init()
{ Label namelabel1 = new Label(" Enter Your Name ",Label.RIGHT);
add(namelabel1);
textField1 = new TextField(15);
add(textField1); // add textfield to structure
if (name == null)
name = "Harvey";
} // end init method
public void paint(Graphics g)
{ Font f10 = new Font("Sans Serif", Font.BOLD, 10);
int red=0; int xxx=0; int x=0; // <---- very important!!
g.setFont(f10);
setBackground(Color.yellow);
g.setColor(Color.red);
Image gifname270 = getImage(getDocumentBase(),"monica.gif");
g.drawImage(gifname270, 100, 140, this);
g.drawString("I NEED TO SEE THIS MESSAGE DISPLAYED NOW, PLS!",10,130);
while (x<11)
{ g.setFont(f10);
g.drawString("This is helping me to understand loops --"+ x + " iteration.",10,red*10);
repaint();
red += 1;
x += 1;
while (xxx < 250000)
{xxx += 1;}
xxx = 0;
} // end while loop.
} // end paint method.
} // end class.
MODIFY THIS PROGRAM SO THAT IT ACCEPTS A NAME FROM THE KEYBOARD,
AND DISPLAYS IT.
HERE IS A LIVE 'RUNNING' OF JST6.HTM (calling jst6.java)
HAVE WE DISPLAYED TEXT TO THE SCREEN?
GRAPHICS ............ ?
MADE A 10 ITERATION LOOP ?
PROMPTED FOR AND DISPLAYED NAME ?
====================================
17. HOW ABOUT ADDING MUSIC?
(600 points to reach this point with music.)
Here's the code for music ....
MUSIC FOR AUCIELLO'S CLASS
STARTING MUSIC PLAYER ...
MUSIC FOR AUCIELLO'S CLASS