• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Jave Swing 画像表示わからない)

Java Swingで画像表示がわからない

このQ&Aのポイント
  • Java Swingで画像を表示する方法についてわからないです。ImageIconクラスの引数にどのような値を指定すれば良いのかがわかりません。
  • プログラムの中で「ImageIcon icon = new ImageIcon("image.jpg");」の行がありますが、この部分の引数の指定方法が正しいかどうかがわかりません。私のパソコンに保存されている画像ファイルを表示するためには、どのように指定すれば良いでしょうか?
  • 上記のプログラムを実行した場合、画像が表示されませんでした。画像を表示するためにはどのような手順が必要なのか、解説とご指導をお願いします。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

OSには、「カレントディレクトリ」というものがある。 「作業フォルダ」とか「実行時ディレクトリ」とか呼ばれることもある。 ファイルの指定方法には主に次の3つ ・絶対パス ・相対パス ・ファイル名だけ 絶対パスは絶対的な一番上(ルートディレクトリ)から指定するもの。 相対パスは、カレントディレクトリをスタート地点にして、そこからの相対的な位置関係(上とか下とか)で指定するもの ファイル名だけの場合は、特に指定がなければ、相対パスに準じる。 「ファイル名だけの場合は、○○ディレクトリから検索する」等とマニュアルにあればそこから探す。 で、Swing.ImageIconのコンストラクタのマニュアルを読む http://docs.oracle.com/javase/jp/6/api/javax/swing/ImageIcon.html#ImageIcon%28java.lang.String%29 ファイル検索場所について、特に明記されていないので、 「ファイル名だけの場合は、特に指定がなければ、相対パスに準じる。」 →「相対パスは、カレントディレクトリをスタート地点にして、そこからの相対的な位置関係」 →「カレントディレクトリにある『ファイル名』のファイル」 となる。 以上のようなファイルやディレクトリについての動作は、Java全般(さらに言えば、コンピュータでのプログラム全般)について言えることです。 ファイルを読み書きするときの基本中の基本です。 しつこいようですが、まずは基本を勉強しましょうよ。 GUIの入門書や解説サイトは「Java自体はマスターしている」ことが前提で書かれてるので、このようなファイル操作の基本とか、オブジェクト指向とかについて、まったくと言っていいほど解説していません。そんなのを見様見真似でやったって、理解できるわけがありません。 足し算が理解できてないのに、教科書に載ってた微分方程式を書き写して出来る気になってるようなもんです。

その他の回答 (1)

noname#177743
noname#177743
回答No.1

デフォルトでは、プログラムのある階層にあるファイルを検索しますから、ホームディレクトリ内にあるファイルは読めません。これは、System.getPropertyを使ってホームディレクトリのパスを取得し、それにファイル名などを付け足してファイルのフルパスを生成して利用すればいいでしょう。 String filepath = System.getProperty("user.home") + File.separator + "image.jpg"; こんな感じでホームディレクトリにあるimage.jpgのファイルパスが得られると思いますので、それを指定して読み込んでみてください。

関連するQ&A