Hallo alle Also mache ich Fortschritte auf meinem Animationsprogramm, aber ich stoße auf ein Problem, wo meine alien.png nicht im Jframe angezeigt wird. Ich habe das alien.png im gleichen Ordner wie diese Animation demo.java, also bin ich mir nicht sicher, warum es das alien.png nicht findet. Jede mögliche Hilfe würdeProbleme mit der Animation auf einem PNG-Bild
package animationdemo;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class AnimationDemo extends JFrame {
Image alien;
public AnimationDemo() {
alien = Toolkit.getDefaultToolkit().getImage("alien.png");
MovingMessagePanel messagePannel = new MovingMessagePanel();
messagePannel.alien = this.alien;
Timer timer = new Timer(50, messagePannel);
timer.start();
this.add(messagePannel);
}
public static void main(String[] args) {
AnimationDemo frame = new AnimationDemo();
frame.setTitle("Project 10");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
}
}
class MovingMessagePanel extends JPanel implements ActionListener {
public int xCoordinate = 20;
public int yCoordinate = 20;
public int xDir=5;
public int yDir=5;
public Image alien;
public void actionPerformed(ActionEvent e) {
repaint();
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (xCoordinate > getWidth()) xDir*=-1;
if (yCoordinate > getHeight()) yDir*=-1;
if (xCoordinate <0) xDir*=-1;
if (yCoordinate <0) yDir*=-1;
xCoordinate += xDir;
yCoordinate += yDir;
g.drawImage(alien,xCoordinate,yCoordinate,this);
}
}
Ja, das macht viel Sinn Ich bin nur nicht sicher, wie die Alien-Variable zu deklarieren Ich versuchte dies, aber es sagt mir, es kann URL URL nicht finden alien = this.getClass(). GetResource ("/ animationdemo /alien.png "); – ried
Verwenden Sie eine IDE? Wenn ja, welcher? Wird das Bild an derselben Stelle wie die 'AnimationDemo.java' -Quelldatei gespeichert? (Das ist der falsche Ort, wenn Sie eine IDE verwenden.) –