Problem Setting offscreen background
Hi
I'm trying to create an applet with an image moving down the screen which i have been able to do, but when i try to set background of the offscreen image i get the following when compiling : symbol : method setBackground(java.awt.Color). Is there another way to set the offscreen background. Here is the code.
Many Thanks
Dean
Code:
import java.awt.*;
public class KelvinIndexLogo extends java.applet.Applet implements Runnable {
// Define Objects & Variables
Image logo, workspace;
Graphics offscreen;
Thread runner;
int logoY = 0;
int logoStop;
// Background RGB values
int backRed = 221;
int backGreen = 221;
int backBlue = 221;
boolean firstRun = true;
public void init() {
String imageName = getParameter("logo");
setBackground(new Color(backRed, backGreen, backBlue));
// Get the logo image if the logo parameter has been specified
if(imageName != null) {
logo = getImage(getCodeBase(), imageName);
}
}
public void start() {
if(runner == null) {
runner = new Thread(this);
runner.start();
}
}
public void stop() {
if(runner != null) {
runner = null;
}
}
public void run() {
// Move the Logo down from the top of the applet
Thread thisThread = Thread.currentThread();
while(runner == thisThread) {
repaint();
try{
Thread.sleep(50);
}catch(InterruptedException e){}
// Would not get the correct image height in the init method
// therefore created first run bolean to set the start & Stop points
if(firstRun) {
logoY = 0 - logo.getHeight(this);
logoStop = getSize().height - logo.getHeight(this);
firstRun = false;
}
logoY++;
if(logoY == logoStop) {
runner = null;
}
}
}
public void paint(Graphics screen) {
// Create the workspace & offscreen objects on each iteration so
// image is cleared every time and no black trail appears on text
workspace = createImage(getSize().width, getSize().height);
offscreen = workspace.getGraphics();
offscreen.setBackground(this.getBackground());
if(logo != null) {
offscreen.drawImage(logo, 0, logoY, null);
}
// Draw workspace to screen & set background colour
screen.drawImage(workspace, 0,0, this);
}
public void update(Graphics screen) {
paint(screen);
}
}