bH wrote:
> Hi All,
>
> Viewing an image, this applet, which compiles and shows an
> image in the browser page IE with no error.
>
> The image is located >outside< of the program folder.
>
> I am having the problem with the IDE's appletviewer that
> will not allow a image file to be read. The error
> message on the AppletViewer's message bar at run time is:
>
> exception:java.security.AccessControlException:Access
> denied(java.io.FilePermission \C:\JBsm.jpg
> read)
>
> That said, I have looked at Canadian Mind Products
> > P words > policy
>
> The instructions say to use:
>
> grant {
> permission java.security.AllPermission;
> };
>
> I have added these lines above but now there is an error at
> compile time for this applet:
> <identifier> expected (obviously after the word "grant")
>
> Something is missing but I have no idea. I am using
> jdk1.5.0_12 and jre1.5.0_12
> and stored in that same folder is there jre1.6.0_03 and
> jre1.6.0_05
>
> Thanks in advance for your help.
>
> Here is the applet code:
>
> im****t java.awt.*;
> im****t java.applet.Applet;
> im****t java.awt.Image;
>
> public class ImageApplet extends Applet
> {
> private Image ioStream;
> private String errorMessage = null;
>
> public void init() {
> try
> {
> //ioStream = getImage(getCodeBase(),
> // "image/JBsm.JPG" );
> //above line works with both the IE browser page
> // and applet viewer
> ioStream = getImage(getCodeBase(),
> "file:/C:/JBsm.JPG" );
> //above line works with the Browser page but fails
> //using the applet viewer
>
> //Insure image is downloaded before showing it
> MediaTracker tracker = new MediaTracker( this );
> tracker.addImage( ioStream, 0 );
> tracker.waitForID( 0 );
> repaint();
> }
> catch (InterruptedException netProblem )
> {
> errorMessage = "Could not reach image";
> }
> }
>
> public void paint( Graphics display)
> {
> if ( errorMessage == null )
> display.drawImage( ioStream, 0, 0, this );
> else
> display.drawString( errorMessage, 10, 10 );
> }
> }
>
> bH
>
If you are using the appletviewer or browser to read files from the
local disk, they must be in the same directory as the applet class
files. When downloading from the net, the files to be read must be
served up by the same server that served the applet class files.
As for the MediaTracker, it is redundant in your code. If you don't
need any information from the Image before displaying it, the
ImageObserver (the 'this' in the drawImage() method) will do everything
you need to get the image drawn. Also the repaint() call is not
required either.
As Mark mentioned, you can embed the image file into a jar and serve
them up that way.
If you jar up your Applet, access the image file with;
getImage(getClass().getResource("fname.jpg"));
You can specify a directory for the image file but that directory must
be stored in your .jar file.
--
Knute Johnson
email s/nospam/linux/
--
Posted via NewsDemon.com - Premium Uncensored Newsgroup Service
------->>>>>>http://www.NewsDemon.com<<<<<<------
Unlimited Access, Anonymous Accounts, Uncensored Broadband Access


|