質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

3回答

7635閲覧

eclipseでの実行の時のエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

1クリップ

投稿2015/07/06 14:28

編集2015/07/06 14:29

ただ単に画像を表示するだけのプログラムを作って実行したのですが次のエラーがでます

lang

1 Exception in thread "main" java.lang.NullPointerException 2 at javax.swing.ImageIcon.<init>(ImageIcon.java:181) 3 at game_st.MainPanel.loadImage(MainPanel.java:22) 4 at game_st.MainPanel.<init>(MainPanel.java:13) 5 at game_st.HelloWorld.<init>(HelloWorld.java:9) 6 at game_st.HelloWorld.main(HelloWorld.java:15)

ソースコードは

lang

1import java.awt.*; 2import javax.swing.*; 3 4public class HelloWorld extends JFrame{ 5 public HelloWorld(){ 6 setTitle("helloworld"); 7 MainPanel panel = new MainPanel(); 8 Container contentPane = getContentPane(); 9 contentPane.add(panel); 10 pack(); 11 } 12 public static void main(String args[]){ 13 HelloWorld frame = new HelloWorld(); 14 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 15 frame.setVisible(true); 16 } 17} 18

lang

1import java.awt.*; 2import javax.swing.*; 3 4public class MainPanel extends JPanel{ 5 private static final int WIDTH = 480; 6 private static final int HEIGHT = 480; 7 private Image heroImage; 8 9 public MainPanel(){ 10 setPreferredSize(new Dimension(WIDTH,HEIGHT)); 11 loadImage(); 12 } 13 public void paintComponent(Graphics g){ 14 super.paintComponent(g); 15 16 17 g.drawImage(heroImage, 0, 0, this); 18 } 19 private void loadImage(){ 20 ImageIcon icon = new ImageIcon(getClass().getResource("Image/hero.gif")); 21 heroImage = icon.getImage(); 22 } 23} 24

どうすれば良いでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

エラー箇所はswordmneさんが指摘してるところです。

エラーメッセージの見方を覚えたほうがいいですね。
どこが悪いと行数まで出ているので、先ずその行を見ましょう。
そして、NullPointerExceptionが起きそうなインスタンスを見つけて、実際の中身を確認しましょう。
ログ出ししたり、eclipse使っているなら、debugしてもいいと思います。

ちなみに、ヌルポは初歩的なミスのことが多く、原因を見つけやすい例外です。
そして、出すとちょっと恥ずかしい例外でもあります。

自力で解決出来るようになるといいですね!
頑張ってください。

投稿2015/07/06 17:17

kaputaros

総合スコア1844

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/07/08 13:23

なるほど ありがとうございます がんばります
guest

0

Class#getResourceを使ってリソース名を相対パスで指定する場合は、そのクラスからの相対位置にあるものとしてクラスパスの中からリソースを探します。
今回の場合は、ソースフォルダーの配下のgame_st.Imageパッケージにhero.gifファイルが置かれている必要があります。

投稿2015/07/07 00:30

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/07/08 13:25

なるほど ありがとうございました
guest

0

ベストアンサー

エラーを出しているのはここのようです.

lang

1ImageIcon icon = new ImageIcon(getClass().getResource("Image/hero.gif"));

ここで使われているClass#getResource(String)は,引数の名前のリソースが見つからない場合,nullを返します.このメソッドはよくわかりませんが,Classオブジェクトに関連付けられている以上期待したようなファイル検索ではないような気がします.
なので,単純に下のようにすればいいのではないでしょうか.

lang

1ImageIcon icon = new ImageIcon("Image/hero.gif");

投稿2015/07/06 14:56

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/07/08 13:24

ありがとうございます 解決しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問