bH wrote:
> On May 7, 1:41 am, Knute Johnson <nos...@[EMAIL PROTECTED]
>
> wrote:
>> bH wrote:
>>> Hi Knute,
>>> You wrote "If you jar up your Applet, access the
>>> image file with; getImage(getClass().getResource
>>> ("fname.jpg"));
>>> The applet is correctly jar'd along with the image
>>> and shows as expected when the jar is opened.
>>> I have tested to see that it does work.
>>> I do not know what, if anything, goes into the ()
>>> of getImage(getClass().getResource())
>>> to exctract only the image from the jar by itself,
>>> so that the image can go into
>>> another program in the same folder.
>>> im****t java.awt.*;
>>> im****t java.applet.Applet;
>>> im****t java.awt.Image;
>>> public class ImageAppletBriefX extends Applet
>>> {
>>> private Image ioStream;
>>> private String errorMessage = null;
>>> public void init() {
>>> try
>>> {
>>> // the jar containing the image is
>>> //"TestLoadImage.jar"
>>> // the image file in the jar is "JBsm.JPG"
>>> ioStream = getImage(getClass().getResource());
>>> // << the line in question is above
>>> repaint();
>>> }
>>> catch (Exception 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 );
>>> }
>>> }
>>> Thanks for your help up to this point
>>> bH
>> I'm not exactly clear what your problem is here. But I will give you a
>> complete example. Assume you have an image file named "kittens.jpg"
and
>> you want to display it in your Applet. Furthermore you want to deploy
>> your Applet from a .jar file with the code and image store in the .jar.
>>
>> im****t java.applet.*;
>> im****t java.awt.*;
>>
>> public class test1 extends Applet {
>> Image image;
>>
>> public void init() {
>> image = getImage(getClass().getResource("kittens.jpg"));
>> }
>>
>> public void paint(Graphics g) {
>> g.setColor(Color.RED);
>>
>> if (!g.drawImage(image,0,0,this))
>> g.drawString("Loading Image",10,20);
>> }
>>
>> }
>>
>> Compile the code above. Jar up the file with the following command;
>>
>> jar cvfM test1.jar test1*.class kittens.jpg
>>
>> This stores all class files from the test1 class and the image file
into
>> the jar.
>>
>> <html>
>> <head>
>> </head>
>> <body>
>> <applet archive="test1.jar" code="test1.class"
>> width="640" height="480">
>> </applet>
>> </body>
>> </html>
>>
>
>> Create the html file above, I called mine test1.html.
>>
>> Now run the appletviewer or load the html file with your browser;
>>
>> appletviewer test1.html
>>
>> The appletviewer/browser will load the .jar file and run the
>> test1.class, reading the kittens.jpg image file from the .jar and
>> displaying it. Until the image is completely loaded the message
>> "Loading Image" will be drawn onto the Applet as well.
>>
>> You do not need a repaint() call if you are using the
>> ImageProducer/ImageObserver scheme.
>>
>> If that is not what you needed, then please post again.
>>
>> --
>>
>> 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- Hide
quoted text -
>>
>> - Show quoted text -
>
> Hi Knute,
> I was able to accomplish your html model above earlier
> and it did show the image as the original applet did,
> Thank you for your html gift above.
>
> Now for the rest of it. I was hoping that I might extract the
> image "kittens.jpg" ONLY from the "test1.jar" and use the
> the image in another applet. All be it by coding differently in a
> second
> applet, and make "kittens.jpg" appeared as coming from the jar.
>
> I guess that what I was trying to do was make some sense out of
> what Mark Space was saying above....
> "Make this image into a resource, and use
> getResourceAsStream(). That's the correct way to package extra files
> with an applet."
> Can this be changed to reflect getting the image from the jar?
> image = getImage(getClass().getResource("kittens.jpg"));
getResourceAsStream() just gets you the image data in a stream as
opposed to the URL. That won't help you with your question.
> Any possibility of coding to get just the image ("kittens.jpg") into
> another applet using that with the idea that Mark Space is saying.
> If that is not what he was suggesting then there is nothing more.
>
> Thanks for your prompt reply.
>
> bH
Yes. You can specify many .jar files in the ARCHIVE parameter of the
APPLET tag. Just separate them with commas.
<html>
<head>
</head>
<body>
<applet archive="test1.jar,test2.jar" code="test2.class"
width="640" height="480">
</applet>
</body>
</html>
The HTML above loads both the test1.jar and test2.jar and runs the class
test2. The code for test2.java is almost the same as test1.java.
im****t java.applet.*;
im****t java.awt.*;
public class test2 extends Applet {
Image image;
public void init() {
image = getImage(getClass().getResource("kittens.jpg"));
}
public void paint(Graphics g) {
g.setColor(Color.BLUE);
if (!g.drawImage(image,0,0,this))
g.drawString("Loading Image",10,20);
}
}
--
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


|