プロが教える店舗&オフィスのセキュリティ対策術

下記のコードをEclipseから実行すると画像が読み込まれないのですが、コマンドプロンプトから実行すると画像が読み込まれます。

コードが同じなのに不思議です…。

原因はどんなことが考えられるのでしょうか?

class test extends JFrame{
public static void main(String args[]){
test frame = new test("タイトル");
frame.setVisible(true);
}

test(String title){
setTitle(title);
setBounds(100, 100, 500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel p = new JPanel();

ImageIcon icon1 = new ImageIcon("img.jpg");
JLabel label1 = new JLabel(icon1);

p.add(label1);

Container contentPane = getContentPane();
contentPane.add(p, BorderLayout.CENTER);
}
}

A 回答 (2件)

パスが違ってるんだと思いますよー。


Eclipseは、プロジェクトを実行すると、作業ディレクトリのパスをワークスペースに設定しますよー。だから、ワークスペースのフォルダの中にファイルがないと読めませんよー。

実行構成のメニューを選んで、Javaアプリケーションの実行構成で、「引数」タブの作業ディレクトリのところを、そのファイルがある場所(たぶん、プロジェクト?)に変更して実行すれば、ちゃんと読めるはずですよー。
    • good
    • 2

画像ファイルの配置、が原因でしょうね。


ごく単純な解決策としては、test.javaと同じフォルダにimg.jpgを置いてやることです。test.javaがデフォルトパッケージに属している、と仮定しての話ですが。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!