• ベストアンサー

アプレットとGUIアプリケーションで画像の表示方法は違う?

画像ファイルをGUIアプリケーションで表示させようとしているのですが、今までアプレットでは表示させていたことはあったのですが、それより手順がちょっと違うようで(?)混乱しています。 アプレットでは、getImageとdrawImageでなんとなく出来てしまったのですが、GUIアプリケーションではいったんコンポーネント(今読んでいる資料ではJLabel)に置いてそのコンポーネントを、コンテナに置く、という手順を踏んでいるのですが、この手順はGUIアプリケーションだからこうする必要があって、こういう手順にしているのでしょうか? よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数3

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

  • ベストアンサー
noname#49664
noname#49664
回答No.1

>この手順はGUIアプリケーションだからこうする必要があって、こういう手順にしているのでしょうか? その手順は、アプリケーションでイメージを利用するのに、わかりやすい方法としてわざとそういうやり方をしているのでしょう。別に、アプリケーションではそうしないといけないというわけではありません。実際は、もっと別な方法をとります。 URL url = getClass().getResource(ファイル名); Image image = Toolkit.getDefaultToolkit().getImage(url); こんな感じで、リソースとしてURLを取得し、それをもとにToolkitからImageを得るようにするのが基本だろうと思います。 アプレットのgetImageは、Appletクラスに用意されているものです。従って、アプレット以外には使えません。アプリケーションでは他の方法を覚える必要があるのです。

nabewari
質問者

お礼

ありがとうございます。すっきりしました。

関連するQ&A

  • アプレットに画像が表示されません

     今晩は、java初心者です、宜しくお願いします。  下のようなプログラムを書きましたが、画像がアプレットに表示されません。  画像はeclipseで同じプロジェクト(フォルダ)内に置いています。  文法上のエラーは出ておりません。  原因がわかりません宜しくお願いします。 ============================ public class Test extends Applet { MediaTracker tracker ; Image img ; public void init() {   tracker = new MediaTracker( this ) ; img = getImage( getDocumentBase() , "a.jpg" ) ; tracker.addImage( img , 0 ) ; } public void start() {              try { tracker.waitForAll(); } catch (InterruptedException e) { } } public void paint( )      { Graphics g2 = getGraphics(); g2.drawImage( img , 0 , 0 , 50 , 50 , this ) ; } }

    • ベストアンサー
    • Java
  • アプレットで印刷

    アプレットで画像を印刷することは可能でしょうか? Graphics2DでdrawStringやdrawRectで文字や図形などは印刷できたのですが、drawImageができないので教えてください。 画像はImage img = Toolkit.getDefaultToolkit().getImage("img.gif")で読み込んでいます。 分かる方よろしくお願いします。

  • 画像を貼り付けたアプレットの表示位置を指定したい

     今晩は、JAVA初心者です、宜しくお願いします。 下のような簡単なプログラムを書いてやりましたが、  アプレットの表示位置を指定してやろうとして、「setLocation(300,300);」 とかいてやりましたが、Imageがアプレットの(300,300)の位置に 張り付きました。  また、「l.setLocation(300,300);」と書いても、画面の左上を起点と して表示されてしまいます。  他の方法も色々とやってみたのですがどの方法も旨く出来ませんでした。  どのようにすれば指定した場所に表示させることが出来るのでしょうか。  宜しくお願いします。 ====================================================================== public class I_1 extends JApplet { public void paint (Graphics g) { Image im = getImage(getDocumentBase(),"Winter.jpeg"); g.drawImage(im,0,0,400,400,this); I_1 l = new I_1(); // setLocation(300,300); l.setLocation(300,300); setVisible(true); } } ======================================================================

    • ベストアンサー
    • Java
  • Java アプレットで画像をコピーして配置

    Javaアプレットでなのですが、画面上に自分で持っている画像をコピーして配置したいです。 http://oshiete1.goo.ne.jp/qa2452081.html​ のソースを参考にさせて頂いたのですが、 コピー元のオブジェクトを自分の持っている画像(アイコン)にしたいです。 Path指定をするとできるのかなと思っていて、以下の2行を加えてみたのですができません。 img[0] = getImage(getDocumentBase(), "../../img/01.jpg"); g.drawImage( img[0],20,20, this ); ご教授よろしくお願いします。

    • ベストアンサー
    • Java
  • 画像を重ね表示するアプレット

    現在プログラミングを学んでいる、Java初心者です。 最初に何もない状態から、 ボタンを押すと画像が表示され、 ボタンを押すたびに画像が階段状に重なり、 何度か押すと、最初の場所に別の画像が 表示されるアプレットを作りたいです。 そこで簡単なソースを書いてみました。 /* *<Applet code=cardTest width=300 height=650> *</Applet> */ import java.awt.*; import java.awt.event.*; import java.awt.Graphics; import java.awt.Image; import javax.swing.*; import javax.swing.border.*; public class cardTest extends JApplet implements ActionListener{   JPanel pan1,pan2;   JButton hbtn=new JButton("hit");   int y =1;   int cardPoint=0;   Image dk,bust;   Graphics g;   public void init(){ Container con=getContentPane(); pan1=new JPanel(); pan2=new JPanel(); con.add(pan1); con.add(pan2,"South"); pan1.setLayout(null); pan1.setBackground(Color.green); pan1.setSize(250,600); pan2.setSize(250,100); pan2.add(hbtn); hbtn.addActionListener(this); dk=getImage(getCodeBase(),"dk.GIF"); bust=getImage(getCodeBase(),"bust.gif");   }   public void actionPerformed(ActionEvent e){ if(e.getActionCommand().equals("hit")){       System.out.println("hit!"); cardDisp(); }   }   public void cardDisp(){ System.out.println("carddisp!"); if(cardPoint>21){ System.out.println("bust!"); g.drawImage(bust,0,0,this); }else{ System.out.println("card!"); g.drawImage(dk,0,0+y*10,this); cardPoint+=10; y++; }   } } 確認用に、いくつかコメントが表示されるようにしています。 重ね表示するのでラベルは使えないと思い、 参考書が見つからず困っています。 cardDisp()が間違っていると思うのですが、 具体的にどう直せばよいのかわかりません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 画像を表示させるプログラム

    こんばんわ。 現在、Javaで画像を表示させるアプレットを作っているのですが、画像が表示されません。 書いたソースは以下です。 import java.applet.Applet; import java.awt.*; /* <applet code="Panel.class" width="497" height="600"> </applet> */ public class Panel extends Applet { Image data; public void init() { data = getImage(getDocumentBase(),"2-1.gif"); } public void paint(Graphics g) { g.drawImage(data, 0, 0, data.getWidth(this), data.getHeight(this), this); } } 2-1.gifという画像ファイルを表示させたいと思っています。画像ファイルはソースファイルと同じディレクトリにあります。appletviewerで実行しているのですが画像がさっぱり表示されません。 SDKのバージョンは1.5を使っています。 お手数おかけしますが、ご教授の程よろしくおねがいします。

    • ベストアンサー
    • Java
  • ★Appletで画像読み込み&画像表示★

    import java.awt.*; import java.applet.*; public class S1 extends Applet { Image img; public void init() { img=getImage(getCodeBase(),"sample.jpeg"); } public void paint(Graphics g){ g.drawImage(img,50,50,this); } } 以上プログラムでアプレット上に拡張子がjpeg形式のsampleという100*100の画像を表示しようとしています。 クラス名はS1で問題なくエラーもありません。 java関連のサイトでも同じようにして画像が表示できるとされていたのですが、私のパソコンではアプレット上には何も表示されないまま、アプレットのみが起動するという状態になりました。 Eclipse SDKというものを使用していますが、それが原因なのかどうかもわからず困っています。 お手数をお掛けしますが、回答の程よろしくお願いします。

    • ベストアンサー
    • Java
  • MATLABのGUI、画像表示について

    GUIDEで設計したGUIのaxes1に画像を表示させようとしているのですが、 simulink上のMファイルに a = imread('a.jpg'); image(a); のようにimageを記述して、GUI上のオブジェクトを指定するにはどうしたらよいのでしょうか?? 新たにfigureを立ち上げるのではなく、GUIに表示させる方法がわからず困っています。 初心者なのでわからないことだらけですが、よろしくお願いします!

  • Java アプレット 画像表示について

    Javaアプレットを勉強中の者です。 初歩的な質問で恐縮ですが、何方か、教えてください。 画像表示の、画像を、WINXPの、ペイントに自分でイラストし、「名前をつけて保存」、保存する場所は、「Java」フォルダ(Javaフォルダに Sample.javaを、置いてある。)「ファイル名」は、「Image.gif]として保存し、アプレットビューアを、実行したところ、アプレットビュ-アは、開いたのですが、何も表示されません。そこで、「Image.gif]を 直接ひらき、再度「名前をつけて保存」を、した所、当然、「上書きしますか?」と、コメントされ、「はい」とし、もう一度、アプレットビューアを、実行した所、今度は、イラストした画像が、表示されました これは、どういう事なのでしょうか? 又、自分でイラストした画像を アプレットビューアに、表示させる、正しい方法を、教えていただければ、幸いです。宜しくお願い致します。

  • 【Java】画像表示が出来ない!

    Java初心者です。 Eclipseを使って、Javaアプレットでjpeg画像を表示させようとしたのですが、上手くいきません。表示したい画像をインポートして、このようなコードを書きました。 import java.applet.Applet; import java.awt.*; /* <applet code="クラス名.class" width="497" height="600"> <param name="img" value="img/test.jpg"> </applet>*/ public class クラス名 extends Applet { Image img; public void init() { img = getImage(getDocumentBase() , getParameter("/test.jpg")); } public void paint(Graphics g) { g.drawImage(img , 0 , 0 , this); } } Javaアプレットで実行しても、アプレットは真っ白なままです。GIF画像でも試してみましたが、同じく失敗でした。他のJavaアプレットのプログラム(図形を表示したり)は成功したので、私のパソコンのJavaは問題ないと思います。回答よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう