2015-07-28 6 views
2

Я нахожусь на своей первой неделе с использованием Java. Я не очень много разбираюсь в апплетах, и я стараюсь больше узнать о книге. Я уже сделал некоторые апплеты, которые содержат простую анимацию, но когда я попробовал рисовать изображение У меня есть запас по этому вопросу:Контроль доступа Исключение: доступ запрещен ("java.io.FilePermission" "[image]" "read")

доступ запрещен («java.io.FilePermission» «[изображение]» «чтение «).

Кто может мне помочь?

import java.awt.Graphics; 
    import java.awt.Image; 

    public class Wave extends java.applet.Applet{ 

     Image waveimg; 

     public void init(){ 

      waveimg=getImage(getCodeBase(),"wave.jpg"); 

     } 

     public void paint(Graphics g){ 

      g.drawImage(waveimg, 10,10,this); 

     } 
    } 
+0

Скорее всего, апплет или его контейнер не имеют права на чтение с предоставленного URL-адреса. Посмотрите, можете ли вы получить изображение, доступное через общедоступный URL. – npinti

+0

@ Andreea, если один из ответов решил вашу проблему, тогда, пожалуйста, выберите один, чтобы закрыть этот вопрос :) – Kami

+0

1) Зачем нужен апплет? Если это связано с тем, что учитель указал на это, обратитесь к [Почему учителя CS должны ** останавливаться ** преподавать Java-апплеты] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-учебно-ява-апплеты /). 2) Зачем использовать AWT? См. [Этот ответ] (http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978) по многим причинам, чтобы отказаться от использования AWT с использованием компонентов в пользу Swing. –

ответ

1

Это потому, что апплеты нуждаются в разрешениях для чтения/записи из/в файлы. Возможно, эта страница вам поможет: How Can An Applet Read Files On The Local File System

+0

* «Апплерам нужны разрешения для чтения/записи из/в файлы». * Не загружать файлы или, по крайней мере, не загружать их с одного и того же сайта с помощью 'getImage (getCodeBase(), ..);' –