質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

2回答

2525閲覧

画像をブラウザに表示したい

jieisl

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/08/02 13:06

編集2016/08/02 13:13

java Appletを使って画像を読み取りブラウザに画像を出すプログラムを作って実行したのですが、以下のようなエラーがブラウザに出てしまいます。

AccessControlException
access denied("java.io.FilePermission" "\Users\khd\Desktop\kadai4\2h.gif" "read")

調べてみてもよくわからなかったですがどういうことですか。

Java

1package suutikaiseki; 2import java.applet.Applet; 3import java.awt.Graphics; 4import java.awt.Image; 5import java.awt.TextField; 6import java.awt.event.ActionEvent; 7import java.awt.event.ActionListener; 8 9 10 11public class kadai4_test extends Applet implements ActionListener{ 12 13 TextField cose;//2Hコース・4Hコースの選択するテキストフィールド 14 Image img; 15 int i=0; 16 17 public void init(){ 18 cose=new TextField("",10);//TextFieldクラスのオブジェクトの生成 19 cose.addActionListener(this);// TextFieldクラスのオブジェクトに ActionListenerを登録する 20 add(cose);// TextFieldクラスのオブジェクト(cose)をアプレットに登録する 21 22 img = getImage(getCodeBase(),"/Users/khd/Desktop/kadai4/2h.gif"); 23 24 } 25 26 public void paint(Graphics g){ 27 if(i==1){ 28 g.drawImage(img, 10, 10, this); 29 } 30 } 31 32 public void actionPerformed(ActionEvent e){ 33 34 int two=Integer.parseInt(cose.getText()); 35 36 if(two==0){ 37 i=1; 38 repaint(); 39 } 40 } 41

HTML

1<html> 2<head><title>Applet Test</title></head> 3<body> 4 5<applet code="suutikaiseki/kadai4_test.class" width="150" height="150"> 6</applet> 7 8</body> 9</html> 10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sun-solar-arrow

2016/08/02 13:08

ソースコードを掲載してください。Markdown記法を使って書いてくださったらありがたいです
jieisl

2016/08/02 13:17

すいません、ご指摘ありがとうございます
guest

回答2

0

access denied というのは、アクセスできない! みたいな意味です。

Java Appletというのは、Webブラウザを使って、インターネットで表示する仕組みなので、
デスクトップのファイルは、直接表示できません。

なので、 2h.gif ファイルを suutikaiseki/kadai4_test.classと同じ場所において、
以下のようにしてみてください。

Java

1img = getImage(getCodeBase(),"/Users/khd/Desktop/kadai4/2h.gif"); 23img = getImage(getCodeBase(),"/2h.gif"); 4↓ または (ちょっとうろ覚えです) 5img = getImage(getCodeBase(),"2h.gif"); 6

ダメだったらコメントください。

投稿2016/08/02 13:50

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jieisl

2016/08/02 14:27

GIFファイルを同じ場所に置き、プログラムを教えていただいた通り書いてみたのですが、同じようにaccess deniedと表示されてしまいました・・・
Mr_Roboto

2016/08/02 14:29

うーん、、、flied_onionさんの回答内容もやってみたほうがいいかな。 最近、セキュリティ厳しくてAppletもなかなか実行できないんですよねぇ
guest

0

セキュリティ的な理由でデフォルトではアプレットはローカルファイルにアクセスできません。

アプレットに署名を付けてあげる必要があります。
開発用には自分で署名を作成してあげれば署名付きアプレットは作成できると思います。
http://docs.oracle.com/javase/jp/7/technotes/guides/plugin/developer_guide/rsa_signing.html#signing

ただ最近のアプレット事情はよく分かりませんがjava7 u51以降は自己署名はデフォルトでブロックされる様なので、例外サイトとして登録する必要があるかもしれません。

https://www.java.com/ja/download/faq/exception_sitelist.xml

投稿2016/08/02 13:48

flied_onion

総合スコア2604

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jieisl

2016/08/02 14:32

例外サイトとして登録はしてたのですが、なぜか上のエラーがでてしまうんですよね・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問