Hallo,
ich habe ein Applet, das beim Start ein Canvas erzeugt.
Dieses soll, bis alle DAten geladen sind, ein Startbild anzeigen.
Leider zeigt es das nicht an.
Das Variable StartScreen (also das Bild) ist NICHT null. Vorhin hat es auch ein paar Mal geklappt. Dann habe ich die Key- und MouseListener eingefügt, und nun zeigt es das Bild nicht mehr an.
Code der Class MyCanvas
Code des Applets:
ich habe ein Applet, das beim Start ein Canvas erzeugt.
Dieses soll, bis alle DAten geladen sind, ein Startbild anzeigen.
Leider zeigt es das nicht an.
Das Variable StartScreen (also das Bild) ist NICHT null. Vorhin hat es auch ein paar Mal geklappt. Dann habe ich die Key- und MouseListener eingefügt, und nun zeigt es das Bild nicht mehr an.
Code der Class MyCanvas
Code:
package Defenders2;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
/**
*
* @author Markus
*/
public class MyCanvas extends Canvas
{
private Image StartScreen;
private MyKeyListener MyInput;
public MyCanvas (Image StartScreen)
{
MyInput = new MyKeyListener();
this.StartScreen = StartScreen;
setSize(800, 600);
setLocation(0, 0);
setBackground(Color.BLACK);
setVisible(true);
this.addKeyListener(new KeyListener()
{ public void keyPressed(KeyEvent e)
{ MyInput.keyPressed(e.getKeyCode());
System.out.println("Taste gedrückt " + e.getKeyCode() + " " + MyInput.getKeyStatus(MyKeyListener.RECHTS));
}
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e)
{ MyInput.keyReleased(e.getKeyCode());
System.out.println("Taste gelöst " + e.getKeyCode() + " " + MyInput.getKeyStatus(MyKeyListener.RECHTS));
}
});
this.addMouseMotionListener(new MouseMotionListener() {
public void mouseDragged(MouseEvent e) {
}
public void mouseMoved(MouseEvent e) {
// myGame.setMouse(new MyPoint(e.getX(), e.getY()));
}
}); // ende MouseMotionListener
this.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
// -1, -1 ergibt MouseClick
// myGame.setMouse(new MyPoint(-1, -1));
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
});
}
public void paint(Graphics G)
{
G.drawImage(StartScreen, 0, 0, null);
G.setColor(Color.red);
G.fill3DRect(10,10,400,400, true);
System.out.println("Painted!!!");
}
}
Code des Applets:
Code:
public class TheMain extends JApplet
implements Runnable
{
private MyKeyListener MyInput = new MyKeyListener();
private Image StartScreen;
private boolean GameIsRunning;
private Canvas DrawArea;
private BufferStrategy BF;
public static int width, height;
// private SpielSteuerung myGame;
private boolean alreadyStartedThread = false;
public static URL myMainBasePath;
// private BonusPics bonuspics;
// private InputFiles myLevelData;
private int test = 0;
private int counter = 0;
@Override
public void init()
{ // nur DrawArea
this.setSize(800,600);
myMainBasePath = getDocumentBase();
// Startbild muss gelesen werden, BEVOR die DrawArea
// gezeichnet wird.
try {
StartScreen = loadImage(new URL(myMainBasePath, "classes/Pics/Defenders Titel.jpg"));
} catch (MalformedURLException ex) {
Logger.getLogger(TheMain.class.getName()).log(Level.SEVERE, null, ex);
}
DrawArea = new MyCanvas(StartScreen);
this.add(DrawArea);
this.setBackground(Color.black);
DrawArea.createBufferStrategy(2);
BF = DrawArea.getBufferStrategy();
width = DrawArea.getWidth();
height = DrawArea.getHeight();
// startGame();
}
// (...)
public Image loadImage(URL myPath)
{
return getImage(myPath);
}