Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / July 2005

Tip: Looking for answers? Try searching our database.

reading image files from applet -- newbie question

Thread view: 
Ed - 27 Jul 2005 04:39 GMT
I'm fairly new to Java, trying to make my first significant Japplet.  It's a
small BlackJack game with a swing interface.  I'm trying to display GIF
images of the card faces, but I can't get the GIF images to load.  I keep
getting security exceptions saying the applet doesn't have read access.

I've got the class files and images packaged in a JAR file.  The image files
are stored in a folder named "cardfile".  Here's the java code I use to read
the images:

       Toolkit kit = Toolkit.getDefaultToolkit();
       String blankCard = "cardfile/blank.GIF";
       Image blankCardImage = kit.getImage(blankCard);

I launch the applet with this HTML from the same directory as the JAR file:

   <applet code="Hello1.class" archive="Hello1.jar"  width="800"
height="600"> </applet>

I can run my applet from AppletViewer within my IDE (Netbeans), but I can't
run it from disk or my webserver.  Here are the runtime exceptions I keep
getting:

   java.security.AccessControlException: access denied
(java.io.FilePermission cardfile/blank.GIF read)
        at java.security.AccessControlContext.checkPermission(Unknown
Source)
        at java.security.AccessController.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkPermission(Unknown Source)
        at java.lang.SecurityManager.checkRead(Unknown Source)
        at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
        at sun.awt.SunToolkit.getImage(Unknown Source)
        at GUItype.<init>(GUItype.java:61)
        at Hello1.init(Hello1.java:66)
        at sun.applet.AppletPanel.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
   Exception in thread "thread applet-Hello1.class"
java.lang.NullPointerException
        at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
        at sun.plugin.AppletViewer.showAppletException(Unknown Source)
        at sun.applet.AppletPanel.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Like I said, I'm new to Java, but best I can tell it says I don't have file
permission to read the GIF files.  I thought that Applets could read files
stored within the same codebase that they were launched from, without any
special security settings.  When I remove the attempts to read the images,
the applet works fine.  Any ideas?
Chris Head - 27 Jul 2005 07:41 GMT
[snip]
>         Toolkit kit = Toolkit.getDefaultToolkit();
>         String blankCard = "cardfile/blank.GIF";
>         Image blankCardImage = kit.getImage(blankCard);
[snip]

Hello,
Try using Applet.getImage() instead of Toolkit.getImage(). There may be
a difference. In fact, you can probably just replace the above three
lines with this:

Image blankCardImage = getImage(getCodeBase(), "cardfile/blank.GIF");

Please note that this is untested.

Good luck,
Chris
Ed - 28 Jul 2005 05:06 GMT
Thanks Chris.  I wound up changing my implementation to use ImageIcons,
which I loaded using getResourceAsStream.  That worked like a charm.

> -----BEGIN PGP SIGNED MESSAGE-----

> Hello,
> Try using Applet.getImage() instead of Toolkit.getImage(). There may be
[quoted text clipped - 7 lines]
> Good luck,
> Chris
Andrew Thompson - 28 Jul 2005 05:23 GMT
> I'm fairly new to Java, ..

Initially I avoided making any comment on this thread,
but since you are a self-professed multi-poster..
<http://groups.google.com.au/group/comp.lang.java.help/msg/7ef76b7149c0b30f>
..you can expect to see a lot more of me, and perhaps
a lot less of 'answers'.

HTH (the other members of the groups)

Signature

Andrew Thompson
physci.org 1point1c.org javasaver.com lensescapes.com athompson.info
Beats A Hard Kick In The Face

Ed - 28 Jul 2005 15:13 GMT
Oooo, the internet police.

There is a difference between cross-posting and multi-posting.   Judicious
use of the latter should bother nobody, except the odd usenet pedant.

>> I'm fairly new to Java, ..
>
[quoted text clipped - 5 lines]
>
> HTH (the other members of the groups)


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.