getImageでのファイルパスの制限について

このQ&Aのポイント
  • getImageでのファイルパス指定時に注意が必要です。
  • イメージファイルの置き場所には制限があります。
  • エラーが発生する場合はファイルの置き場所を確認しましょう。
回答を見る
  • ベストアンサー

getImageでのファイルパス

getImageでイメージを取得するときに、イメージファイルの置き場所について何か制限はありますか? img = getImage(getDocumentBase(),"../フォルダ名/ファイル名"); だとエラーになってしまいます。 classファイルが保存されているフォルダ内に、イメージが保存されているフォルダを置き、 img = getImage(getDocumentBase(),"フォルダ名/ファイル名"); だとうまくいきます。 「../」は使えないのでしょうか?それとも置き場所が悪いのでしょうか? 勉強不足でお手数をおかけしますが、どなたかご存知の方がいらっしゃいましたら、ご回答頂けると助かります。よろしくおねがいいたします。

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

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

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.1

>getImageでイメージを取得するときに、イメージファイル >の置き場所について何か制限はありますか? の解は >classファイルが保存されているフォルダ内に、イメージ >が保存されているフォルダを置き、 >img = getImage(getDocumentBase(),"フォルダ名/ファイル名"); >だとうまくいきます。 という事になると思います。 アプレットではセキュリティー上、上記のような使用法に限定 されています。 具体的には、getDocumentBase(),getCodeBase()で得られる URL以下のフォルダ、ファイルにしかアクセスを認めていません。 どうしてもアクセスをしたい場合は、セキュリティー制限を 解除する方法がありますが、クライアントの同意がなければ 不可能ですので、余程の理由が無い限りは止めるべきです。

tago39
質問者

お礼

早速のご回答ありがとうございました。 しかもわかりやすくご説明して下さり、無事解決です。 文法だけ分かっていてもやはりだめですね。 頑張って勉強します。 本当にありがとうございました。

関連する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
  • JavaAppletのプログラム添削をお願いします

    初心者です。宜しくお願いします。 JAVA Appletで、クリックするたびに画像が変わるものを作りたいのですが、上手くいきません。 プログラムの添削をお願い致します。 JAVA Appletを利用し、画面をクリックするたびに画像が変わるアプリを作りたいのですが、上手くいきません。 ※コンパイルは通るのですが、実行しても何も表示されません。 [参考URL]http://www.geocities.jp/supermisosan/javastudy/mousechange.html この、画像を変えただけのものを作れればOKです。 以下、今私の書いたプログラム内容です。 書いたと言っても、コピペして部分部分を変えただけですが‥。 【click.java】 import java.applet.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class click extends JApplet implements MouseListener { Image siro,kiiro,aka2,img; int x=0; Image image[]=new Image[5]; Graphics g; public void init() { addMouseListener(this); image[0]=getImage(getDocumentBase(),getParameter("siro.gif")); image[1]=getImage(getDocumentBase(),getParameter("kiiro.gif")); image[2]=getImage(getDocumentBase(),getParameter("aka2.gif")); image[3]=getImage(getDocumentBase(),getParameter("aka2.gif")); image[4]=getImage(getDocumentBase(),getParameter("aka2.gif")); setBackground(Color.white); } public void paint(Graphics g) { g.drawImage(image[x],0,0,this); } public void mouseClicked(MouseEvent me) { x++; if(x==5) x=0; repaint(); } public void mouseEntered(MouseEvent me) { } public void mouseExited(MouseEvent me) { } public void mousePressed(MouseEvent me) { } public void mouseReleased(MouseEvent me) { } } 【click.html】 <html> <head> <title>test applet</title> </head> <body> <applet code="click.class" width=500 height=500> </applet> <hr> <a href="click.java"> source file </a> </body> </html> 何が足りないのでしょうか? 勉強不足ですみません、宜しくお願い致します!!

  • フレームにJPEGを表示させたい

    JAVAアプレットでフレームを作成しました。 そこにJPEGの画像を表示させようと思い、下記のようにしました。 class TestFrame extends Frame { Image image; TestFrame(String title) { super(title); setLayout(null); image = getImage(getDocumentBase(), "A1.jpg"); } public void paint(Graphics g){ g.drawImage(image,300,300,this); } } しかし、上記をコンパイルすると 「image = getImage(getDocumentBase(), "A1.jpg");」の所でコンパ イルエラーが発生しました。 色々調べた所「public URL getDocumentBase()ドキュメントの URL を返します。戻り値:アプレットを含んでいるドキュメントの URL」 と言うことでした。 つまりgetDocumentBaseが使えないみたいです。 ではどうやってフレームにJPEGの画像を表示させればいいのでしょうか?

    • ベストアンサー
    • Java
  • 画像の回転

    Javaで画像の回転を180度時計回りに回転させたいのですが どのようにしたら良いのでしょうか? Image img = new Image; img = getImage(getDocumentBase(), "images/test.png"); g.drawImage( img, x, y, this); あとimportも何を書けばよいのかもわかりません。 グラフィックスについて詳しく書かれている本も知りたいです。

    • ベストアンサー
    • Java
  • getDocumentBase() でエラーがでます

    getDocumentBase() でエラーがでます 下のように書いているのですが getDocumentBase() でエラーがでて困っています 他のところは動いてて それに追加しました 何が原因なのでしょうか? import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class window { public static void main( String[] args ) { AppFrame f = new AppFrame(); image i = new image(); i.init(); f.setSize( 200, 200 ); f.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e) { System.exit(0); } } ); // f.show(); f.setVisible( true ); } } class image extends Applet { Image image; image() { } public void init() { image = getImage( getDocumentBase(), "image.jpg" ); } ...

  • 画像読み込みのエラー処理

    画像を表示するアプレットのソースです。 ファイル名はstrで設定します。 Image img; String str; str = "xx.jpg"; img = getImage(getDocumentBase(), str); if (img.equals(null)) { mydbg("001"); } else { mydbg("002"); } //strがでたらめで、そのパスの画像が存在しなくても //getImage()は成功するんですか?実験してみるとそのようでした。 //その画像が存在しない場合、この下のソースでmydbg("003");が //実行されるはずなのに実行されません。 //画像が存在しない場合のエラー処理のよいソースを教えてください。 MediaTracker mt = new MediaTracker(this); mt.addImage(img, 0); try { mt.waitForID(0); repaint(); } catch (Exception e) { mydbg("003"); }

    • ベストアンサー
    • Java
  • appletの画像が表示されない

     画像を表示するappletを作ったんです。  コマンドのappletviewerでは確認出来るんですが、IEでは何故か表示されません。何故なんでしょう?  WINXP/IE6.0.2600です。  以下にコードを記述します。 import java.awt.*; import java.applet.*; public class test extends Applet {  Image img;  public void init() {   img = getImage(getDocumentBase(), "test.PNG");  }  public void paint(Graphics g) {   g.drawImage(img, 10, 10, this);  } }

    • ベストアンサー
    • Java
  • 【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
  • ボタンに貼り付ける絵の置き場所は(JBuilder)?

    いつもお世話になっていますm(_ _)m 下記のように書いた場合は"a.gif"ファイルはどこに置けばよいのでしょうか? Image img = Toolkit.getDefaultToolkit().getImage("a.gif"); プロジェクトファイル(*.jpx)の場所に置くと実行時"a.gif"はちゃんと描画されます。 しかし、上記の場所には置かず、srcフォルダ内に入れておくとclassesフォルダにコピーされていますが実行時描画されていません。なぜでしょうか? 絵のファイル場所って指定できないのですか?

    • ベストアンサー
    • Java
  • ブラウザからファイルパスを取得するには

    現在Webブラウザからローカルにあるファイルのパスを取得したいと 考えています。 イメージとしては、アップロードのときのように、参照ボタンを押すと ダイアログが開き、そこからファイルを選択すればそのファイルのパスが 取得できるようなことを考えています。 ファイルアップロード時にファイルのパスを取得できることは知っているのですが、アップロード出来るサイズの制限を越えるものもあり、 できるだけアップロード処理を行わずに、ファイルのパスだけを取得できる 方法がないか探しております。 ご存知の方がいらっしゃいましたら、教えていただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • HTML

専門家に質問してみよう