こんにちわ。
私は今、windows XP + eclipse 3.1.1(日本語化済)
でswingアプリケーションを作っています。
完成後は、実行可能jarファイルとして配布したいと考えています。
jarファイル内の画像ファイルを読み込んで、トグルボタンの
アイコンに使いたいので、メインクラス内で、
jToggleButton1.setIcon(new ImageIcon(getClass().getClassLoader().getResource("images/transition.jpg")));
という記述をしました。
「ファイル」→「エクスポート」→「jarファイル」
で、実行可能jarファイルを作ったときはちゃんと
画像が読み取れているのですが、
eclipseから直接実行をすると、以下のようなNullPointerException
が発生してしまいます。
java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at DTT.getJToggleButton1(DTT.java:261)
at DTT.getJPanel5(DTT.java:216)
at DTT.getJScrollPane(DTT.java:203)
at DTT.getJPanel(DTT.java:99)
at DTT.initialize(DTT.java:478)
at DTT.<init>(DTT.java:468)
at DTT.main(DTT.java:458)
(DTTという名前のアプリケーションなのです。。)
jarに出力する場合と、eclipseから直接実行する場合で
記述を変える必要があるのでしょうか?
それともデフォルト作業ディレクトリの指定などを適切に行えば
統一的に扱えるようになるのでしょうか?
なにとぞよろしくお願いします。
No.4ベストアンサー
- 回答日時:
classファイルが見えませんがclassファイルはbinフォルダに作られる設定で宜しいでしょうか。
それならimagesフォルダをsrcフォルダ内に移動してください。再コンパイルすればbinフォルダ下にimagesフォルダがコピーされ、その環境で実行すれば上手くいくと思います。
回答ありがとうございます。
やってみたのですが、よくわかりません。
結局、getResource()がnullを返した場合は
パスを直接指定するようにif文を付けました。
迅速な対応、ありがとうございました。
No.3
- 回答日時:
#1です。
jarファイルをEclipseから利用しようとしたものと極介してしまいました、申し訳ない。
#2にあるrinkun氏の指摘や相対パスのたどり方、パス基点を再確認してみてください。
#あまりお力になれていませんね、すみません。 m(__)m
この回答への補足
なんどもありがとうございます。
>#あまりお力になれていませんね、すみません。 m(__)m
めっそうもございません。一緒に考えてくれる人がいるという
だけで恐れ多いことだと思います。。
No.1
- 回答日時:
おそらくプロジェクトのプロパティなどで参照先のjarファイルとして登録されていないのではないかと。
classpathの設定に問題のjarファイルを追加してあげれば実行できそう。
はずれていたら申し訳ない。
この回答への補足
えーっと、プロジェクトのプロパティで、ライブラリに
JARを追加するという意味でしょうか?
eclipseから直接実行するときは、jarファイルが生成
されていないので、指定しようがないと思うのですが。
すいません。意味がよくわかりません。
あまりeclipseに詳しくないもので。すみません。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
classファイルについて
-
Eclipse・プロジェクトで、フォ...
-
eclipse でclassesフォルダーが...
-
SVFの設定について:クラスパス...
-
Eclipse「リフレッシュ」と「ク...
-
【Eclipse】パッケージ・エクス...
-
javaクラスファイルをEclipseで...
-
classファイルが作成されない
-
JAR内のクラス一覧と、メソッド...
-
jarファイルについて
-
Tomcatの「\\WEB-INF\\classes...
-
packageが見つからないエラー
-
JAVAで別端末へファイル転送
-
コンパイルをしようとするとエ...
-
javax.mailがimportできない
-
Eclipseでデバッグが出来ないエ...
-
eclipseでjarのエクスポートが...
-
java.io.Fileクラスは絶対パス...
-
ディレクトリを操作したいと思...
-
ResourceBundleクラスの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
classファイルについて
-
javaクラスファイルをEclipseで...
-
Eclipse「リフレッシュ」と「ク...
-
Eclipse・プロジェクトで、フォ...
-
SVFの設定について:クラスパス...
-
【Eclipse】パッケージ・エクス...
-
earファイルを展開する方法
-
eclipse でclassesフォルダーが...
-
「メイン・マニフェスト属性が...
-
ResourceBundleクラスの使い方
-
EclipseでHTTP404エラーが出る。
-
【Eclipse】逆コンパイルでエラ...
-
jdbcドライバのjarファイルにク...
-
DOMParserを使いたいのですが
-
コンパイルをしようとするとエ...
-
java クラスファイルとソースコ...
-
VisualStudioでC++クラスを追加...
-
『ClassNotFoundException: org...
-
プログラム実行の際に、「ソー...
-
Eclipseで、クラスを新規作成す...
おすすめ情報