2012-11-28 98 views
1

我在寫一個必須加載圖像的小程序。當我通過appletviewer運行它時,一切正常,所以我的代碼應該全部設置。當我嘗試在任何瀏覽器中打開它時,出現AccessControlException錯誤,說我沒有讀取權限。我明白,通常這是因爲小程序試圖訪問客戶端計算機上的文件。我的.Java,.class和.html文件位於C:/Java,我需要加載的圖像位於C:/Java/Images,所以我認爲它們應該可以訪問,我錯了嗎?有什麼辦法讓我的小程序以簡單的方式加載這些圖像?在Java applet中加載圖像AccessControlError

回答

1

在瀏覽器中運行的小程序不具有從本地文件系統打開文件的權限。

您需要將圖像添加到jar文件,然後使用getClass().getResource()getClass().getResourceAsStream()加載它。

編輯:Here is an example顯示如何在applet中加載圖像。

+0

*「您需要將圖像添加到jar文件」*或「家庭服務器」。 –

+0

是的,將它們添加到服務器以供小程序進行通信當然可以工作,但可能比OP想要做的更多 - 並且我猜測他或她正在從文件系統打開html文件,不使用服務器。 – GreyBeardedGeek

+1

你讓它聽起來很難! 'URL url = new URL(getDocumentBase(),「image42.jpg」);'將形成與HTML相同目錄中的圖像的URL。 –