• ベストアンサー

Swingなしで画像ファイルロード

AWTを使ってJAVAのアプリケーションを作っています。 単純に画像ファイルを開いてウィンドウに表示するものを作りたいです。 しかし、画像ファイルを開く場合、必ずSwingがいるようなのです。 サンプルを探してもこんなのばかり。 ImageIcon icon=new ImageIcon("hoge.jpg"); Image img=icon.getImage(); このとき、ImageIconはSwingの部品なので、イヤなんです。 Swing未満のものを使って、画像をファイルから読み込んでImageオブジェクトをつくれないものでしょうか。

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

  • ベストアンサー
  • jakarta
  • ベストアンサー率38% (607/1597)
回答No.2

イメージ表示はアプレットだと単純なんですがアプリケーションの 場合getToolkitからアクセスする必要があります。 getImage("pict.jpg")をgetImage(url)でもOKです。 import java.lang.*; import java.io.*; import java.awt.*; import java.net.*; public class PictView extends Frame{ Image pict; PictView(){ super("Sample"); try{ //URL url = new URL ("file:///HD/Desktop%20Folder/pict.jpg"); pict = getToolkit().getImage("pict.jpg"); } catch (Exception e){System.err.println(e); } setSize(300,300); show(); } public void paint(Graphics gc){ gc.drawImage(pict,0,0,this); } public static void main(String[]args){ new PictView(); } }

hiro_ayu
質問者

お礼

わかりやすいサンプルまでいただき、ありがとうございました。 こんなかんじで作ってみます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • aton
  • ベストアンサー率47% (160/334)
回答No.1

 java.awt.Toolkit#getImage(String) を使うのではないでしょうか? このメソッドではGIF,JPEG,PNGしか扱えませんが…。Toolkit オブジェクトは任意の java.awt.Component の子孫クラスのインスタンスから getToolkit() を使って取得します。こんな感じ? java.awt.Frame frm = new Frame(); java.awt.Image img = frm.getToolkit().getImage("foo.png");

参考URL:
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/awt/Toolkit.html#getImage(java.lang.String)
hiro_ayu
質問者

お礼

ありがとうございました。 getToolkitがキーだったんですね。 これからはもっとねばりづよくマニュアルを探してみることにします。

すると、全ての回答が全文表示されます。

関連するQ&A