I have been Having difficulty getting an image file to load and be displayed properly. The code below gives me no errors when I try to run it but all I get is the word opaque printed on a blue background. I am trying to use an example in a Java game programing book but it is outdated. The book is written for java 1.4 if that helps anybody. Keep in mind I defined the class SimpleScreenManger, should have been SimpleScreenManager, and have used it for other code in the same project so its not the problem. Any tips or advise are welcome.
import java.awt.*;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class ImageTest extends JFrame {
public static void main(String[] args) {
DisplayMode displayMode;
if (args.length == 3) {
displayMode = new DisplayMode(
Integer.parseInt(args[0]),
Integer.parseInt(args[1]),
Integer.parseInt(args[2]),
DisplayMode.REFRESH_RATE_UNKNOWN);
}
else {
displayMode = new DisplayMode(1440,900,16,
DisplayMode.REFRESH_RATE_UNKNOWN);
}
ImageTest test = new ImageTest() ;
test.run(displayMode);
}
private static final int FONT_SIZE = 24;
private static final long DEMO_TIME = 5000;
private SimpleScreenManger screen;
private Image bgImage;
private Image opaqueImage;
private boolean imagesLoaded;
public void run(DisplayMode displayMode) {
setBackground(Color.blue);
setForeground(Color.white);
setFont (new Font("Dialog", Font.PLAIN, FONT_SIZE)) ;
imagesLoaded = false;
screen = new SimpleScreenManger();
try {
screen.setFullScreen(displayMode, this);
loadImages();
try {
Thread.sleep(DEMO_TIME);
}
catch (InterruptedException ex) {}
}
finally {
screen.restoreScreen();}
}
public void loadImages () {
bgImage = loadImage("Background.jpg");
opaqueImage = loadImage("opaquecircle.png");
imagesLoaded = true;
repaint();
}
private Image loadImage(String fileName) {
return new ImageIcon(fileName).getImage();
}
public void paint (Graphics g) {
if (g instanceof Graphics2D) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(
RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON );
}
if (imagesLoaded = true) {
g.drawImage(bgImage,0,0,null);
drawImage (g,opaqueImage,320,0, "opaque");
}
else {
g.drawString("Loading Images...", 5, FONT_SIZE);
}
}
public void drawImage (Graphics g ,Image image , int x, int y, String caption) {
g.drawImage(image,x,y,null);
g.drawString(caption , x +5, y + FONT_SIZE+ image.getHeight(null));
}
}