• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:getResourceAsStreamを使った画像読み込みについて)

getResourceAsStreamを使った画像読み込みについて

このQ&Aのポイント
  • Javaの授業で、オブジェクト指向を使ったゲーム作りの課題があります。しかし、パッケージやクラスの説明がなく、改良の方法が分かりません。
  • 調べても分からないため、jarファイルに自作の画像を読み込む方法を探しています。ImageIOはjarには不適合で、代わりにClassLoaderのgetResourceAsStreamメソッドを使用することが指定されています。
  • しかし、どのように書けばいいのかが分からず、APIリファレンスを見ても理解できません。また、画像の表示部分も初歩的な質問ですが、何かアドバイスがあれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.1

初歩的すぎる? いいや、そんなことはない。わからない人のほうが多いだろう。 こんなかったるいやりかた、今は誰もしないからな(笑)。 InputStream in = getClass().getResourceAsStream("xxx.gif"); byte buffer[] = new byte[in.available()]; for (int i = 0, n = in.available(); i < n; i++) { buffer[i] = (byte)in.read(); } Image image = Toolkit.getDefaultToolkit().createImage(buffer); こんな感じだろうかね。 だが、なんだっていまどきわざわざgetResourceAsStreamを使わなければならないのだろうか。getResourceを使えば、 URL url = getClass().getResource("xxx.gif"); Image image = Toolkit.getDefaultToolkit().createImage(url); たったこれだけなんだが。 先生に、「調べてみたところ、getResourceを使ったほうが簡単にイメージを読み込めることがわかったんですが、これを使ってはいけないんでしょうか?」と聞いてみれば。

MR-0622
質問者

お礼

アドバイスありがとうございました! その後どうにかできましたが相変わらずJAVAはよくわからないので夏休みを利用して勉強しようと思います。 お礼が大変遅くなってしまい申し訳ありませんでした。