0

Java アプリケーションのすべてのイメージを src 内の「rtype」というパッケージに入れています。ここには、これらのイメージを処理するクラスもあります。画像を並べ替えて、独自のフォルダーに入れたかったのです。これを行うと、画像がクラスに読み込まれなくなります。これは、ファイル パスを変更したことが原因であることがわかっています。私はいくつかの研究を行い、いくつかの異なることを試しました。これは基本的に私がもともと持っていたものです:

String walkingDown = "WalkingDown.gif";
ImageIcon ii;
Image image;
ii = new ImageIcon(this.getClass().getResource(walkingDown));
image = ii.getImage();

画像の場所をクラスの場所の外に移動する前は、問題なく機能していました。今では画像が見つかりません。これが私が試してオンラインで見つけたものです(フォルダー名はSpritesです):

//use getClassLoader() inbetween to find out where exactly the file is
ii = new ImageIcon(this.getClass().getClassLoader().getResource(standingDown));

//Changing the path 
String walkingDown = "src\\Sprites\\WalkingDown.gif";
//also tried a variation of other paths with no luck

Cドライブを使用していますが、プロジェクトをどこに置いてもアクセスできるようにしたいので、拡張機能で「C」を使用したくありません。私はこの時点でかなり立ち往生しており、質問する時が来たことに気付くのに十分な調査を行いました.

4

3 に答える 3

1

変数の名前はですが、メソッドwalkingDownに渡します。standingDowngetResource()

于 2012-12-03T21:59:20.700 に答える
1
new ImageIcon("src/Sprites/WalkingDown.gif");
于 2012-12-03T22:08:08.100 に答える
1

その名前の画像用に別の「パッケージ」があります(srcフォルダーにあります)

次のようなことを試してください:

 try {
        ClassLoader cl = this.getClass().getClassLoader();
        ImageIcon img = new ImageIcon(cl.getResource("images/WalkingDown.gif"));
    }
    catch(Exception imageOops) {
        System.out.println("Could not load program icon.");
        System.out.println(imageOops);
    }
于 2012-12-03T22:02:21.563 に答える