Re: [問題] applet沒有辦法顯示圖片?

看板java作者 (偶爾想擺爛一下)時間15年前 (2010/07/01 22:50), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《tempTTP1 (任劍翔)》之銘言: : 大家好: : 小弟最近寫了一個程式,算是在網頁上的applet那種,但是自己在測的時候, : compile都沒有問題,執行的時候就整個都無法顯示出來,按下去他會跟我說: : java.security.AccessControlException: access denied (java.io.FilePermission : images/0.jpg read) : [略] : Source) : at java.lang.Thread.run(Unknown Source) : 例外:java.security.AccessControlException: access denied : (java.io.FilePermission images/0.jpg read) : 這樣...,主要是要有一個label顯示image資料夾底下的0.jpg這張圖,但是我沒有權限.. : 我的程式碼: : image1=new ImageIcon("images/0.jpg"); : image2=new ImageIcon("images/0.jpg"); : Label1=new JLabel(""); //直接JLabel(image1);也沒用 : Label2=new JLabel(""); : setVisible(true); : Label1.setIcon(image1); : Label2.setIcon(image2); 我假設你設計這個 applet 不是給你自己在 local 使用的(若是給自己在 local 使用,製作成 applet 幹嘛?)。 那麼 applet 就是要放在 web server 上,供人下載回去使用(包括你自己)。換個 方式說,applet 是下載到 user 系統上的 JRE(Java Plug-in) 來 run。 J2SE core classes 中幾乎所有的 method 若是以 String 來指定 resource,都是 由 String 來表示位於 local file system 上的某個 resource 的路徑。 所以依你現在的寫法來說,等於你假設去使用你這個 applet 的 user 的系統上 已有一個 images 目錄,裡頭有你的 applet 所需要的圖檔,而且你能確定 applet 執行時的 working directory。 如果你能確定上述兩點,對任何使用你的 applet 的 user 都能成立,那你再 往權限方面去考慮。 通常設計 applet 時,對於 applet 所需的 resource(圖、聲音檔)的處理, 不外乎是考慮把 resource 放在 applet 所在的 web server 上,讓 applet 透過 getImage/getAudioClip method 下載來使用;或是把 resource 包在 jar 裡,讓 user(Java Plug-in)下載回去,applet 以 Class - getResource/getResourceAsStream 來 access jar 裡的 resource 檔。 如果 applet 放在 web server 上沒有打包成 jar,Class - getResource/getResourceAsStream 也可以 access 同放在 web server 上的 resource 檔案。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.132.138

07/02 22:42, , 1F
感謝!
07/02 22:42, 1F
文章代碼(AID): #1CBAiRuh (java)
文章代碼(AID): #1CBAiRuh (java)