• Advertisement

Archived

This topic is now archived and is closed to further replies.

[java] Image displaying

This topic is 6563 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I''m currently working on a small tile-based java game. At the moment, when I load up a map the tiles slowly scroll on screen. I was wondering if it was actually possible to load them up in the background whilst a graphical load window appears with a status bar and when it''s done, the map pops up? Thanks. Smoo

Share this post


Link to post
Share on other sites
Advertisement
I THINK that that was the whole idea of the ImageProducer/ImageConsumer classes: to ''observe'' the loading of the images. Also you might want to check that you''ve loaded all your images first and then store them in memory so you won''t have to load them again (involves network connections and Internet latency for some).

Share this post


Link to post
Share on other sites
Not to sure about the progress bar. Check out sun's tutorial on JFC/Swing and look for the JProgressBar component. As for waiting untill the graphics load, you can use a mediaTracker. Make a function called loadImages(). make a new MediaTracker and give it an instance of your program. Then start loading your images, player = Toolkit.getDefaultToolkit.getImage("player.jpg"); then do mt.addImage(player,0); for all your images. And lastly, try mt.waitForAll and catch an interrupted exception. Now all execution will be on hold untill the images are loaded.

Edited by - Jim_Ross on 1/30/00 11:16:38 PM

Share this post


Link to post
Share on other sites
Of course you would need an additional thread if you want to do something fancy while loading...

(And the progress-bar code is not exactly rocket science - unless you are already using Swing, I''d recommend writing your own instead - downloading several Megs of UI library to get a progress bar is a bit crazy)

Share this post


Link to post
Share on other sites
Wtf? Downloading swing? I have everything in my JDK 1.2.2 and I don''t need to download enything/every swing component! So does it mean that I *might* not have a progress bar? (I haven''t tried?)

Share this post


Link to post
Share on other sites
You are not the problem - people trying to use your applet in a standard browser are! (They don''t have JDK1.2.2 by default)

/Nj

Share this post


Link to post
Share on other sites
I didn''t know applets were involved at all. Speaking of applets, did you hear about the latest security hole in Microsoft''s VM?

Share this post


Link to post
Share on other sites
Oh, sorry! Dumb asumption on my part!

Nope, not heard of any new issues in IE... I found a small one a short time ago though: If you have two applets on the same page, one of which has the "mayscript" tag set, these applets SHOULD be given different VM''s (if they don''t, the applet without the "mayscript" tag will be able to execute scripts through the other applet). IE runs both in the same VM...

/Niels

Share this post


Link to post
Share on other sites
Niels, that is not a security hole, that is the way it "should" be.

All browser use the same JVM to run applets in the same HTML page. Actually that gives you a nice way to communicate between two applets in one HTML page.

JavaWorld had an article last year describing how you should define class (=static) variables if there are going to be several insances of the class in applets that share a webpage.

Share this post


Link to post
Share on other sites
Well, it was posted on Javalobby.com and found by a japanese user group. I guess you can access any files in the classpath with an applet. But MS''s VM automagically includes c:\ in the classpath for IE4 and your desktop and registry in IE5. That''s at least what i gather from the original post. There''s an applet in the post that reads files on your desktop, just put a read me there an click read.

Share this post


Link to post
Share on other sites
No, that is NOT the way it is supposed to be. If both applets have the MAYSCRIPT attribute, or none of them has it, then YES, they can run in the same VM... If not, one is providing a scripting loophole for the other... In any case it is a minor issue since it is the author of the page who decides which applets get scripting rights... (My point is, that because of this "bug", the mayscript tag is useless)

/Niels

Share this post


Link to post
Share on other sites
BTW: I use applet communication extensively on www.hexadome.net - this, in fact, is how I discovered the bug. I forgot the MAYSCRIPT tag on one of the applets and all of a sudden it wouldn''t run in Netscape - I figured it was a bug in Netscape (it usually is ), but as it turned out, IE was the problem (And Netscape didn''t throw a security exception as it should have - It sure had me puzzled for a while ...

Share this post


Link to post
Share on other sites

  • Advertisement