S
Shraff
I have a java applet that scrolls through some pictures that are found
in the same directory as the java code. When I run the applet from
inside of my compiler everything seems to work fine. However, when I
insert the applet into html code using the applet tag or the object
tag it dosent seem to work. The applet will appear and the buttons
will be there but when the start button is pressed it will not scroll
the pictures. I am new to adding applets to the web and am not sure
what my problem is.. any help would be greatly appreciated. Here is
the code I am using.
Html Tag:
<applet code=gifAnimation.class name=gifAnimation
archive=imageScroll.jar
width=300 height=400>
<param name="bgcolor" value="ffffff">
<param name="fontcolor" value="000000">
Your browser is not Java enabled.
</applet>
Java Applet:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.util.Locale;
class FillPictureBox extends Thread
{
private Graphics g;
private boolean keepscrolling = true;
private int scrollSpeed, numOfPics;
ImageIcon[] pictures;
private Container co;
public FillPictureBox(Graphics graphics, Container c, ImageIcon
pics[], int numberofPics)
{
g = graphics;
pictures = pics;
co = c;
numOfPics = numberofPics;
keepscrolling = true;
}
public void run()
{
while(keepscrolling == true)
{
for(int x =0; x < numOfPics; x++)
{
pictures[x].paintIcon(co,g, 0, 0);
for(int y=0; y < 10000; y++) { } // Fine tunning the
scroll.
if(keepscrolling == false) { x = numOfPics - 1; }
try {Thread.sleep(300);}
catch(InterruptedException e){}
}
}
}
public void stopnow()
{
keepscrolling = false;
}
public void fillPictureBox(Graphics g)
{
}
public void setScrollSpeed(int speed)
{
}
}
public class gifAnimation extends JApplet implements ActionListener,
MouseListener
{
Graphics g = getGraphics();
FillPictureBox movingPicture;
Container c = getContentPane();
JLabel titleLabel, blankLabel;
JButton startGamebt, stopbt;
JPanel northP, southP, eastP, westP;
Font titleFont = new Font("serif",Font.BOLD,34);
Font headFont = new Font("serif",Font.BOLD, 24);
Font textFont = new Font("serif",Font.ITALIC, 18);
private ImageIcon[] pics;
private ImageIcon[] thumbs;
private int numberofPics;
private boolean filled = false;
public void init()
{
gifAnimation window = new gifAnimation();
window.setSize(400,500);
window.setVisible(true);
}
public gifAnimation()
{
//Set JPanels
southP = new JPanel();
eastP = new JPanel();
northP = new JPanel();
westP = new JPanel(new FlowLayout());
southP.setLayout(new GridLayout(2,2));
c.setLayout(new BorderLayout());
//Set Labels
titleLabel = new JLabel("Esys Shop Cam 2");
blankLabel = new JLabel("");
//titleLabel.setFont(titleFont);
//Set Buttons
startGamebt = new JButton("Start");
//startGamebt.setFont(headFont);
stopbt = new JButton("Stop");
//stopbt.setFont(headFont);
//Add Widgets to panels
southP.add(titleLabel);
southP.add(blankLabel);
southP.add(startGamebt);
southP.add(stopbt);
startGamebt.addActionListener(this);
stopbt.addActionListener(this);
// Add JPanels to contentpane
c.add(northP, BorderLayout.NORTH);
c.add(southP, BorderLayout.SOUTH);
c.add(westP, BorderLayout.WEST);
this.addMouseListener(this); // register frame with MouseListener
}
public void actionPerformed(ActionEvent e)
{
Graphics g = getGraphics();
if(e.getSource() == startGamebt)
{
if(filled == false)
{
filled = true;
fillIconArray();
}
movingPicture = new FillPictureBox(g,c, thumbs, numberofPics);
movingPicture.start();
}
if(e.getSource() == stopbt)
{
movingPicture.stopnow();
}
/*
if(e.getSource() == slideB)
{
int newRate = slideB.getValue();
movingPicture.setScrollSpeed(newRate);
}
*/
}
public void fillIconArray()
{
numberofPics = 9;
pics = new ImageIcon[9];
thumbs = new ImageIcon[9];
String fileNames, extension;
extension = ".jpg";
for(int x=0; x< numberofPics; x++)
{
fileNames = "";
fileNames = Integer.toString(x);
fileNames = fileNames + extension;
pics[x] = new ImageIcon(fileNames);
thumbs[x] = new
ImageIcon(pics[x].getImage().getScaledInstance(427, 341,
Image.SCALE_FAST));
System.out.println(fileNames);
}
}
// Add MouseListeners
public void mousePressed(MouseEvent e)
{
}
public void mouseReleased(MouseEvent me)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
}
}
in the same directory as the java code. When I run the applet from
inside of my compiler everything seems to work fine. However, when I
insert the applet into html code using the applet tag or the object
tag it dosent seem to work. The applet will appear and the buttons
will be there but when the start button is pressed it will not scroll
the pictures. I am new to adding applets to the web and am not sure
what my problem is.. any help would be greatly appreciated. Here is
the code I am using.
Html Tag:
<applet code=gifAnimation.class name=gifAnimation
archive=imageScroll.jar
width=300 height=400>
<param name="bgcolor" value="ffffff">
<param name="fontcolor" value="000000">
Your browser is not Java enabled.
</applet>
Java Applet:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.util.Locale;
class FillPictureBox extends Thread
{
private Graphics g;
private boolean keepscrolling = true;
private int scrollSpeed, numOfPics;
ImageIcon[] pictures;
private Container co;
public FillPictureBox(Graphics graphics, Container c, ImageIcon
pics[], int numberofPics)
{
g = graphics;
pictures = pics;
co = c;
numOfPics = numberofPics;
keepscrolling = true;
}
public void run()
{
while(keepscrolling == true)
{
for(int x =0; x < numOfPics; x++)
{
pictures[x].paintIcon(co,g, 0, 0);
for(int y=0; y < 10000; y++) { } // Fine tunning the
scroll.
if(keepscrolling == false) { x = numOfPics - 1; }
try {Thread.sleep(300);}
catch(InterruptedException e){}
}
}
}
public void stopnow()
{
keepscrolling = false;
}
public void fillPictureBox(Graphics g)
{
}
public void setScrollSpeed(int speed)
{
}
}
public class gifAnimation extends JApplet implements ActionListener,
MouseListener
{
Graphics g = getGraphics();
FillPictureBox movingPicture;
Container c = getContentPane();
JLabel titleLabel, blankLabel;
JButton startGamebt, stopbt;
JPanel northP, southP, eastP, westP;
Font titleFont = new Font("serif",Font.BOLD,34);
Font headFont = new Font("serif",Font.BOLD, 24);
Font textFont = new Font("serif",Font.ITALIC, 18);
private ImageIcon[] pics;
private ImageIcon[] thumbs;
private int numberofPics;
private boolean filled = false;
public void init()
{
gifAnimation window = new gifAnimation();
window.setSize(400,500);
window.setVisible(true);
}
public gifAnimation()
{
//Set JPanels
southP = new JPanel();
eastP = new JPanel();
northP = new JPanel();
westP = new JPanel(new FlowLayout());
southP.setLayout(new GridLayout(2,2));
c.setLayout(new BorderLayout());
//Set Labels
titleLabel = new JLabel("Esys Shop Cam 2");
blankLabel = new JLabel("");
//titleLabel.setFont(titleFont);
//Set Buttons
startGamebt = new JButton("Start");
//startGamebt.setFont(headFont);
stopbt = new JButton("Stop");
//stopbt.setFont(headFont);
//Add Widgets to panels
southP.add(titleLabel);
southP.add(blankLabel);
southP.add(startGamebt);
southP.add(stopbt);
startGamebt.addActionListener(this);
stopbt.addActionListener(this);
// Add JPanels to contentpane
c.add(northP, BorderLayout.NORTH);
c.add(southP, BorderLayout.SOUTH);
c.add(westP, BorderLayout.WEST);
this.addMouseListener(this); // register frame with MouseListener
}
public void actionPerformed(ActionEvent e)
{
Graphics g = getGraphics();
if(e.getSource() == startGamebt)
{
if(filled == false)
{
filled = true;
fillIconArray();
}
movingPicture = new FillPictureBox(g,c, thumbs, numberofPics);
movingPicture.start();
}
if(e.getSource() == stopbt)
{
movingPicture.stopnow();
}
/*
if(e.getSource() == slideB)
{
int newRate = slideB.getValue();
movingPicture.setScrollSpeed(newRate);
}
*/
}
public void fillIconArray()
{
numberofPics = 9;
pics = new ImageIcon[9];
thumbs = new ImageIcon[9];
String fileNames, extension;
extension = ".jpg";
for(int x=0; x< numberofPics; x++)
{
fileNames = "";
fileNames = Integer.toString(x);
fileNames = fileNames + extension;
pics[x] = new ImageIcon(fileNames);
thumbs[x] = new
ImageIcon(pics[x].getImage().getScaledInstance(427, 341,
Image.SCALE_FAST));
System.out.println(fileNames);
}
}
// Add MouseListeners
public void mousePressed(MouseEvent e)
{
}
public void mouseReleased(MouseEvent me)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
}
}