こんにちはすべて私のアニメーションプログラムでは進歩していますが、私はalien.pngがjframeに表示されない問題に遭遇しています。私はこのアニメーションdemo.javaと同じフォルダにalien.pngを持っていますので、なぜalien.pngが見つからないのか分かりません。すべてのヘルプはpng画像でのアニメーションの問題
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);
}
}
私はこれを試していたが、URLを見つけることができないと言っているエイリアン変数を宣言する方法が分かりません。alien = this.getClass()。getResource( "/ animationdemo /alien.png "); – ried
IDEを使用していますか?もしそうなら、どちらですか?イメージは 'AnimationDemo.java'ソースファイルと同じ場所に保存されていますか? (これは、IDEを使用している場合、間違った場所です。) –