Sun's Image loading example broken?

Hello,
I am trying to use the ImageDisplayer application provided by the Java tutorial. I am doing this because I have been unable to display any images in a JPanel successfully. My problem specifically is that the ImageDisplayer program runs, the frame appears, but no image is painted.
I am using Java version 1.3.1_02 on Win 2k, and 1.3.1_03 on Linux
I have tried this on my Linux box and on my Windows 2k box, with the same results. Has anyone experienced this? Could anyone provide me with a small program in a jar file that loads an images sucessfully and is known to work? None of my code tests have sucessfully loaded an image.
Here is the tutorial and example program. It can also be downloaded in binary format (image.jar) in the tutorial examples zipfile
Im going nuts here.
Thanks
-Ken
kz1000@hotmailDOTcom

you can use the sharedobject class to determine how long ago the user logged in and the sequence of images that you want to display.

Similar Messages

  • ImageIcon & Lazy image loading

    The whole day I'm fuzzing around with loading an ImageIcon lazily. I suppose you know what lazy means. I want to load my icons when they have to be painted on the screen, because I use thousands of them. I read the "How to Use Icons" tutorial (http://java.sun.com/docs/books/tutorial/uiswing/misc/icon.html). With its ArrowIcon implementation of Icon (http://www.iam.ubc.ca/guides/javatut99/uiswing/misc/example-swing/ArrowIcon.java) and its IconDemoApplet (http://java.sun.com/docs/books/tutorial/uiswing/misc/example-1dot4/IconDemoApplet.java). However, I'm still confused. I also took a look at the ImageIconProxy example of the proxy pattern (http://www.javaworld.com/javaworld/jw-02-2002/jw-0222-designpatterns.html). Finally I got the following code (the IconProperties part can be ignored). I'm afraid that this does not what I want. I have now only a few images, so I can't measure it directly. Does my class exactly the same as the ImageIcon class itself? Is there no postponing of instantiation because I subclass ImageIcon? Do I have to implement the interface Icon instead? Do I have to copy all the stuff in ImageIcon to my implementation in that case? Or is it better to extend the Image class to provide functions like described beneath (check upon existence).
    And for completeness. I extend this LazyIcon object subsequently with a class named LayeredIcon to create combined icons.
    * The class <code>LazyIcon</code> implements <code>ImageIcon</code>
    * because their will be at least some calls like:
    * <pre>
    *   Icon icon = new ImageIcon(imageURL);
    *     Image image = icon.getImage();
    *     image = image.getScaledInstance(...);
    *   Icon icon2 = new ImageIcon(image);
    * </pre>
    * Besides that I want to add a function <code>IconExists</code> and
    * to add lazy image loading, and maybe also background loading.
    * This doesn't work, so it seems like in the constructor of
    * ImageIcon there is done more than only setImage(image).
    * @author A.C. van Rossum
    public class LazyIcon  extends ImageIcon {
      boolean isIconCreated = false;
      protected Image image;
      protected IconProperties properties;
       * The <code>LazyIcon</code> stores the <code>Image</code> until
       * the moment it has to be created. It has default icon properties.
      public LazyIcon(Image image) {
        this(image, IconProperties.DEFAULTICON);
      public LazyIcon(Image image, IconProperties properties) {
        this.image = image;
        setIconProperties(properties);
      //other constructors have to follow
       * The method <code>setIconProperties</code> enables the user
       * to change the properties of an icon, before calling the
       * method <code>paintIcon</code>.
       * @param properties A set of properties: dimension, etc.
      public void setIconProperties(IconProperties properties) {
        this.properties = properties;
      public int getIconHeight() {
        return isIconCreated ? super.getIconHeight() : properties.getHeight();
      public int getIconWidth() {
         return isIconCreated ? super.getIconWidth() : properties.getWidth();
       * The method <code>paintIcon</code> does only set the image of
       * the ImageIcon class lazily (when this function is called.)
      public void paintIcon(final Component c, Graphics g, int x, int y) {
        if(!isIconCreated) {
          setImage(image);
          isIconCreated = true;
        super.paintIcon(c, g, x, y);
      public Image getImage() {
        if (isIconCreated)
          return super.getImage();
        else return image;
    }Is my problem formulation clear enough? Many thanks in advance if you want to give it a look.
    Andy

    I spent some more time looking at the programs today, and it seems that all of the students involved were using a graphics library called objectdraw (http://cortland.cs.williams.edu:16080/~cs134/eof/). As far as I can tell, the objectdraw source code isn't public, so I can't say which (if any) of the standard methods they were using.
    After some work, I managed to produce a method with the same parameters as the objectdraw getImage method that used the AWT Toolkit. When I overrode the objectdraw version in the students' code, the bug (at least for the moment) seems to have gone away. So the problem may be in that other library.
    Does anyone else have experience with objectdraw? Is this a known bug, or could this be something else...?

  • Problem with Image Loading

    Hi,
    I am using JWS to launch my application. Earlier I was using jdk1.5.0_12 version and everything was working fine. But, one of our machines didnt had jdk1.5.0_12 but had jdk1.5.0_19 version. So, JWS uses "Java Web Start 1.5.0_19" version.
    In my code, I am loading images at two different places. At first place I am loading my images using ClassLoader cl = Thread.currentThread().getContextClassLoader();
    InputStream baseInputStream = cl.getResourceAsStream(value);
              if(baseInputStream != null){
                  ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
                  byte[] buffer = new byte[1024];
                  int len;
                  while((len = baseInputStream.read(buffer)) >= 0)
                      out.write(buffer, 0, len);
                  baseInputStream.close();
                  out.close();
                  imageIcon = new ImageIcon(out.toByteArray());
              }This is working fine. But at the second place, I am setting the look and feel for my application using, SkinLookandFeel.loadDefaultThemePack() method. This method hangs permanently and my application fails to launch. When I debugged this method, I found the following:
    1. It goes to loadDefaultThemePack() method of SkinLookAndFeel class. (package: com.l2fprod.gui.plaf.skin)
    2. This in turn calls the loadThemePackDefinition((com.l2fprod.gui.plaf.skin.SkinLookAndFeel.class).getResource("/skinlf-themepack.xml")); of SkinLookAndFeel class.
    3. The XML file is loaded properly.
    4. In method loadThemePackDefinition(), the XML is parsed.
    5. This XML has a tag <icon name="InternalFrame.icon" value="icons/Window.gif" />.
    6. A URL is formed using URL iconURL = new URL(url, element.getProperty("VALUE"));7. This URL is also formed properly.
    8. Next, SkinUtils.loadImage(iconURL) is called.
    9. In this method, image is created using method: byte data[] = SkinLookAndFeel.getURLContent(url);
                img = Toolkit.getDefaultToolkit().createImage(data);10. The img variable created here has width and height = -1 with imagerep (consumer) as null, source (producer) as sun.awt.image.ByteAraryImageSource.
    11. Then, ImageUtils.transparent(img) method is called.
    12. In this method, toBufferedImage(image) method is clalled.
    13. in toBufferedImage(image) method, new image is created using image = (new ImageIcon(image)).getImage(); method.
    14. This new image created also has width and height = -1 with imagerep (consumer) as sun.awt.image.ImageRepresentation, source (producer) as ByteAraryImageSource.
    15. Now, new BufferedImage is created using BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null), 2);16. In the constructor of BufferedImage, createCompatibleWritableRaster(width, height) method is called on DirectColorModel. This method throws exception, since width and height are -1.
    Points to note are:
    1. This is working fine with jdk1.5.0_12 but not with jdk1.5.0_19. I tried this with latest java 1.5 version, jdk1.5.0_21. The problem is still there.
    2. When I tried with jdk1.5.0_12, instead of DirectColorModel instance, createCompatibleWritableRaster() method in point 16 above was called on IndexColorModel. I am not creating or initializing any color model, so, I dont know, when does the instance of DirectColorModel or IndexColorModel is used and whether it has any thing to do with my problem.
    Can any one provide any pointers, what could be the issue with jdk1.5.0_19.

    Have a look throughout the forum (and google), JWS retrieved url syntax changed in 5u16 (or 14 I can never remember).
    Otherwise keep waiting for some good samaritan, good luck with it, most people are sick tired of this topic.
    Bye.

  • How can i control what images load on my project to save preload time and avoid loading all images, elements, divs not yet visible?

    Sup buddies,
    How can I control what images load on my project to save preload time and avoid loading all images, elements, divs not yet visible?
    As the project grows in size the load time increases. How does one control not loading all images ,divs,elements etc. until they're
    needed on the timeline? For example some sections are off and only become visible when recalled. My projects slowly grow in size so loading
    all images , is counter productive . My other option would be to create separate htmls but that breaks the seamless user experience .
    TY...Over N Out... 

    hello, kiwi
    quote: "Is there an easy way to burn a completed project to DVD, but keep only the (lo res, lo size) previews on my hard drive?"
    yes.
    maybe,...
    1. you might think of making DVD backups first prior to importing the photos into Aperture. "Store Files: In their current location" once in Aperture make low rez Previews, and export finished Project.
    or,
    2. bring in the photographs to hard drive first prior to importing the photos into Aperture. "Store Files: In their current location" once in Aperture make low rez Previews, and export finished Project.
    the low rez Previews will stay in Aperture but the high quality Versions will be exported onto DVDs and gone from the hard drive (if you delete the originals).
    another way would be to export small about 50-70 pixel wide high quality jpegs to a folder on your Desktop and import & keep these in Aperture Library as a reference. make metadata to show where the original Project DVDs are stored and DVD filing system used.
    victor

  • XML scrolling thumbnail, image loader, & Buttons [halfway works]

    Intro:
    I started a flash-based website a few years ago. Back in 2006 I was able to get a xml scrolling thumbnail, image loader to work without a glitch.
    For numerous reasons I had to put the project on hold until now. [one was that my 30 day trial of flash expired and only recently was I able to purchase the Adobe Web Suite CS4 as well as a new computer which could run the apps.]
    Last Friday saw a bump in the road in the development of my site as two, rather straightforward task, turned into something short of a nightmare as I have been unable to get past these two, seemingly, relatively simple task.
    I have posted in 4 other flash forums the issues, in detail, that I am facing - and have quite a bit of interest/views in the topic as the numbers suggest - yet no response/answer as of yet. [Which confirms other messages I have seen which seem to state that working with buttons has become increasingly difficult with the newer version of flash - something Im a bit surprised with actually from Adobe. - I would have thought there would be a palette where you could set parameters...]
    Screenshot of Site/Timeline:
    Before getting into the two questions I have, I would like to post an image of the site as it looks whenever an swf file is saved out, as well as a piece of the timeline in the back for reference.
    Issue #1
    As of now when the swf file is saved out you get exactly what you see above:
    a: A scrolling thumbnail
    b: ...which loads a large image when clicked on it - PEFECT...
    BUT...
    1a: I need for the buttons to load in this action, not for it to just load on its own.
    [i.e., the silk_paintings gallery is what is open, so I need the "silk_paintings" button to call up this action]
    note: Initially I had attacked this problem by taking out the actions layer you see above and applying it directly to the individual buttons with some crude MouseEvent Listener/Handerls... that did not work - at all.
    Im sure it may be "easier" to make an array out of it, but with my coding level it may be "easier" to apply it to the buttons.
    1b: How I currently see it, I would take the xml-list and duplicate it for the number of galleries I have.
    [I would then re-name the xml-list to reflect the name of the galleries they are to represent, i.e. "silk_paintings"]
    [also, I would have to rename the folders to "thumbnails1,2,3, etc., & "images 1,2,3, etc"
    From there I would duplicate the actions and paste it into the buttons, changing the xml-list name to that of "silk_paintings", etc., as well as write in the MouseEvent listener Handler to make it work. [ah, ha, but what is that magic phrase, I have tried to implement various code from other tutorials, and all in vein.]
    Issue #2
    At this point I would be tickled pink just to get this to basic function to work.
    However, once the buttons are working and calling up the xml, etc., then I need the buttons to stay on the semi-transparent blue color it is whenever in the 'hit' state. [note: NOT pictured above.]
    With the way the buttons are currently set up, and with wanting to use scripting to get them to interact with the thumbnail gallery, it will have to be some miraculous code to tell that button what color to stay as whenever its clicked, and of course it going back to white when another button is clicked.
    Conclusion:
    Since this is an Adobe Forum I would like to make a few additional statements in hopes that the developers, etc. may take heed.
    Adobes products are not cheap, and when I went to purchase the websuite I went in as a designer needing a program as not to need to program.
    I understand the flexibility that coding gives, but something as simple as linking buttons should not be in the realms of rocket science. [yes, for many its not...but my brain just does not operate that route despite all the tutorials thrown at me.]
    Again, it would seem that there would be a button panel where you could drag options like scrolling thumbnail slider, loader, and then parameters would come up. [much like Apples iWeb. - but before the argument of one being pro and the other for non-pros, I see it differently. Software should not be the limiting factor in how flexible you can design, or rather ones lack of programming shouldnt be. With all the talented, and I say this in all humility and honesty, programmers working for Adobe, Im sure something could be programmed like what Im asking for.]
    note: Director is a good example, back in 1997 I knew nothing of multimedia and in one week I had assembled a portfolio, clicking buttons, speech, movies, and all. - and no, I dont have the money to buy more software!
    At this moment I am at the mercy of someone who reads code like its a nighttime tale they are telling their kids, and who can see the exact issue I have and can share the appropriate, correct code. [as I have noticed, it has to be on target - naturally - but this target changes with just a slight change in the design.]
    Thank you,
    peace
    Dalen
    p.s.
    The actionscript: [note: This is only the current working/good code that Im trying to get the buttons to call up.]
    stop();
    fscommand("allowscale", false);//keep SWF display at 100%
    var x:XML = new XML ();//Define XML Object
    x.ignoreWhite = true;
    var fullURL:Array = new Array;//Array of full size image urls
    var thumbURL:Array = new Array;//Array of thumbnail urls
    var thumbX:Number = 25;//Initial offset of _x for first thumbnail
    x.onLoad = function(){ //Function runs after XML is loaded
        var photos:Array = this.firstChild.childNodes;//Defines variable for length of XML file
         for (i=0;i<photos.length;i++) {//For loop to step through all entry lines of XML file
              fullURL.push(photos[i].attributes.urls);//Each loop, adds URL for full sized image to Array fullURL
              thumbURL.push(photos[i].attributes.thumbs);//Each loop, adds URL for thumbnails to Array thumbURL
              trace(i+". Full Image = "+fullURL[i]+"  Thumb Image = "+thumbURL[i]);         
              var t = panel.attachMovie("b","b"+i,i);//Each loop, Define local variable 't' as a new instance of 'b' movie clip, given unique instance name of 'b' plus the index number of the For loop
              t.img.loadMovie(thumbURL[i]);// Each loop, load thumbnail image from XML data into variable movie clip
              t._y = 0;//Set Y coordinate of variable movie clip
              t._x = thumbX;//Set X coordinate of variable movie clip based on variable thumbX
              t.numb = i;//Set sub-variable 'numb' inside variable t to hold index number
              t._alpha = 75;//Set the Alpha value of the variable movie clip to 75% - for onRollOver highlight action
              thumbX += 55;//Increment thumbX value so next thumbnail is placed 125 pixels to the right of the one before
              t.onRollOver = function () {//define onRollOver event of the variable movie clip
                   this._alpha = 100;//Set thumbnail alpha to 100% for highlight
              t.onRollOut = function () {//define onRollOut event of the variable movie clip
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onPress = function () {//define onPress event of the variable movie clip
                   this._rotation += 3;//rotates thumbnail 3 degrees to indicate it's been pressed
                   this._x += 3;//Offset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y -= 3;//Offset Y coordinate by 3 pixels to keep clip centered during rotation
              t.onReleaseOutside = function () {//define onRelease event of the variable movie clip
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during rotation
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onRelease  = function () {//define onRelease function to load full sized image
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during
                   this._alpha = 75;//Reset thumbnail alpha to 75%
                   holder.loadMovie(fullURL[this.numb]);//Load full sized image into holder clip based on sub-variable t.numb, referenced by 'this'
         holder.loadMovie(fullURL[0]);//Initially load first full size image into holder clip
    x.load ("silk_paintings.xml");// path to XML file
    panel.onRollOver = panelOver;
    function panelOver() {
         this.onEnterFrame = scrollPanel;
         delete this.onRollOver;
    var b = stroke.getBounds(_root);
    function scrollPanel() {
         if (_xmouse<b.xMin||_xmouse>b.xMax||_ymouse<b.yMin||_ymouse>b.yMax) {
         this.onRollOver = panelOver;
         delete this.onEnterFrame;
         if (panel._x >= 740) {
         panel._x = 740;
    if(panel._x <= (thumbX-10))  {
              panel._x = (thumbX-10)
         var xdist = _xmouse - 830;
         panel._x += -xdist / 7;
    The xml:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <slideshow>
    <photo thumbs="thumbnails/i_brown_fairy.jpg"  urls="images/brown_fairy.jpg"  />
    <photo thumbs="thumbnails/i_blonde_fairy.jpg"  urls="images/blonde_fairy.jpg"  />
    <photo thumbs="thumbnails/i_flower_fairy.jpg"  urls="images/flower_fairy.jpg"  />
    <photo thumbs="thumbnails/i_red_fairy.jpg"  urls="images/red-fairy.jpg"  />
    </slideshow>
    Attached is a link to the file I made named "index".
    https://rcpt.yousendit.com/706233226/5e7b4fe0973dacf090b5cbae32c47398
    I would have liked to have included the following files but was limited due to "you-send-it" not uploading folders.  Files not included: [but functioning] : xml list - images [folder] - thumbnails [folder]
    Again, Thank you
    Dalen

    The issues with the buttons calling up the scrolling thumbnail panel have been resolved, as well as keeping the buttons in their hit state once clicked, thanks to Rob.
    Those that have been following this thread, or stumble upon it in their searches later, may appreciate to see the final solution to this particular issue.
    [Hopefully I will be able to update this thread with a url in the future to show the site in operation, which may help somebody with their project in the future if its set up similarly.]
    Alas, it would be nice if future versions of flash had a more direct, flexible, user friendly method for creating navigation.
    [We may see development beyond the flash ads which everyone seems to loathe... and more creativity with flash in terms of games, web interactivity, &  animation.
    Below are 2 sets of code:
    a] the first is located within the first frame of the first button, and has some extra variables in it that the additional buttons call upon...
    b] the second is the code applied to every other button.
    stop();
    fscommand("allowscale", false);//keep SWF display at 100%
    var x:XML = new XML();//Define XML Object
    x.ignoreWhite = true;
    var fullURL:Array = new Array();//Array of full size image urls
    var thumbURL:Array = new Array();//Array of thumbnail urls
    //  .......  CHANGE
    var thumbX:Number;// = 25;//Initial offset of _x for first thumbnail
    // make an array of all of the instance names of each button object...
    // only do this once
    var buttonsList:Array = new Array(shadesOfGrey, silkPaintings);
    shadesOfGrey.isLatched = false;
    // the rollover function... repeat for each button
    shadesOfGrey.onRollOver = shadesOfGrey.onDragOver=function ():Void {
         if (!this.isLatched) {
              this.gotoAndStop(2);
    // the rolloff function... repeat for each button
    shadesOfGrey.onRollOut = shadesOfGrey.onDragOut=shadesOfGrey.onReleaseOutside=function ():Void {
         if (!this.isLatched) {
              this.gotoAndStop(1);
    // the mouse press function... repeat for each button
    shadesOfGrey.onPress = function():Void  {
         resetAllButtons();
         this.isLatched = true;
         this.gotoAndStop(3);
    shadesOfGrey.onRelease = function():Void  {
         x.load("shadesOfGrey.xml");// path to XML file
         thumbX = 25;
    function resetAllButtons():Void {
         for (b in buttonsList) {
              buttonsList[b].isLatched = false;
              buttonsList[b].gotoAndStop(1);
    x.onLoad = function() {//Function runs after XML is loaded
         //  resets the position of the panel on each new load
         panel._x = 740;
         //  .......  CHANGE  removes the existing movieclips from the panel before any new load...
         for (c in panel) {
              if (typeof (panel[c]) == "movieclip") {
                   removeMovieClip(panel[c]);
         var photos:Array = this.firstChild.childNodes;//Defines variable for length of XML file
         for (i=0; i<photos.length; i++) {//For loop to step through all entry lines of XML file
              fullURL.push(photos[i].attributes.urls);//Each loop, adds URL for full sized image to Array fullURL
              thumbURL.push(photos[i].attributes.thumbs);//Each loop, adds URL for thumbnails to Array thumbURL
              //trace(i+". Full Image = "+fullURL[i]+"  Thumb Image = "+thumbURL[i]);
              var t = panel.attachMovie("b", "b"+i, i);//Each loop, Define local variable 't' as a new instance of 'b' movie clip, given unique instance name of 'b' plus the index number of the For loop
              t.img.loadMovie(thumbURL[i]);// Each loop, load thumbnail image from XML data into variable movie clip
              t._y = 0;//Set Y coordinate of variable movie clip
              t._x = thumbX;//Set X coordinate of variable movie clip based on variable thumbX
              t.numb = i;//Set sub-variable 'numb' inside variable t to hold index number
              t._alpha = 75;//Set the Alpha value of the variable movie clip to 75% - for onRollOver highlight action
              thumbX += 55;//Increment thumbX value so next thumbnail is placed 125 pixels to the right of the one before
              t.onRollOver = function() {//define onRollOver event of the variable movie clip
                   this._alpha = 100;//Set thumbnail alpha to 100% for highlight
              t.onRollOut = function() {//define onRollOut event of the variable movie clip
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onPress = function() {//define onPress event of the variable movie clip
                   this._rotation += 3;//rotates thumbnail 3 degrees to indicate it's been pressed
                   this._x += 3;//Offset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y -= 3;//Offset Y coordinate by 3 pixels to keep clip centered during rotation
              t.onReleaseOutside = function() {//define onRelease event of the variable movie clip
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during rotation
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during rotation
                   this._alpha = 75;//Reset thumbnail alpha to 75%
              t.onRelease = function() {//define onRelease function to load full sized image
                   this._rotation -= 3;//rotate thumbnail back 3 degrees
                   this._x -= 3;//Reset X coordinate by 3 pixels to keep clip centered during
                   this._y += 3;//Reset Y coordinate by 3 pixels to keep clip centered during
                   this._alpha = 75;//Reset thumbnail alpha to 75%
                   holder.loadMovie(fullURL[this.numb]);//Load full sized image into holder clip based on sub-variable t.numb, referenced by 'this'
         holder.loadMovie(fullURL[0]);//Initially load first full size image into holder clip
    // this one function scrolls the panel for all of the buttons, it gets the
    // size of the panel when the images are loaded by any given button...
    stroke.onEnterFrame = function() {
         if (this.hitTest(_xmouse, _ymouse, false)) {
              if (panel._x>=740) {
                   panel._x = 740;
              if (panel._x<=740-panel._width+mask._width) {
                   panel._x = 740-panel._width+mask._width;
              if ((panel._x<=740) && (panel._x>=740-panel._width+mask._width)) {
                   var xdist = _xmouse-830;
                   panel._x += -xdist/7;
    Of note is the change to how the movie clips are measured... this change in and of itself has really helped to make the thumbnail panels operation more efficient.
    Below is the script for each additional button: [Having issues with the forums not letting me post additional code, so I will put the remaining code in a reply below.]
    cont.

  • Images load really slow after using Reduce File Size...

    After using the "Reduce File Size..." feature in Acrobat 9 on Windows Vista, some of the images load really slow as I page through the document. Is there some kind of compression setting that I should look for to prevent the images from be affected by this?
    For some of my documents it will take 30 to 60 seconds to load an image. Sometimes I can't do anything with the document until the graphic loads entirely.

    Can you post an example of a file that has this issue? Personally, I recommend using the PDF optimizer, it gives better control of the final pdf file.

  • Something in correct with Image loading....

    Hi All,
    I have created a very simple form to load image into a form.
    Using forms 10g dev suite on win XP.
    I load two images for two image items.
    for IMAGE1 I have written the below code in its when-image-pressed trigger and this Image loading WORKS FILE...
    i get the desired image loaded
    DECLARE
         tiff_image_dir VARCHAR2(80) := 'C:\DevSuiteHome_1\forms\111.gif';
         photo_filename VARCHAR2(80);
    BEGIN
         :System.Message_Level := '25';
         photo_filename := tiff_image_dir ;
         READ_IMAGE_FILE(photo_filename, 'GIF', 'emp.my_test_button');
         READ_IMAGE_FILE(photo_filename, 'GIF', 'emp.my_test_button');
         IF NOT FORM_SUCCESS THEN MESSAGE('This employee does not have a photo on file.');END IF;
         :SYSTEM.MESSAGE_LEVEL := '0';
         END;
    the problem is with Image two...it laods some incorrect image .....as i am trying to USE JAR file
    the trigger code is below
    DECLARE
         photo_filename VARCHAR2(80);
    BEGIN
         :System.Message_Level := '25';
         READ_IMAGE_FILE('111.gif', 'URL', 'emp.image_item');
         IF NOT FORM_SUCCESS THEN MESSAGE('This employee does not have a photo on file.');END IF;
         :SYSTEM.MESSAGE_LEVEL := '0';
    END;
    below is the entry for my formsweb.cfg
    I have placed my
    [my_app]
    width=675
    height=480
    separateFrame=false
    splashScreen=no
    lookAndFeel=oracle
    colorScheme=blue
    background=/forms/formsdemo/images/blue.gif
    logo=/forms/formsdemo/images/bannerlogo.gif
    baseHTMLjinitiator=demobasejini.html
    baseHTMLjpi=demobase.htm
    baseHTML=demobase.html
    baseHTMLie=demobaseie.html
    envFile=formsdemo.env
    archive_jini=frmall_jinit.jar,AppIcons.jar
    #archive=frmall_jinit.jar
    pageTitle=Oracle Forms - My Application
    form=my_test_button.fmx
    imagebase=codebase
    userid=scott1/tiger@ora11g
    My classpath entry in ENV file is
    CLASSPATH=C:\DevSuiteHome_1\jlib\debugger.jar;C:\DevSuiteHome_1\forms\demos\my_app\AppIcons.jar;C:\DevSuiteHome_1\forms\demos\jars\uploadserver.jar;C:\DevSuiteHome_1\forms\demos\jars\demowebserviceclientside.jar;C:\DevSuiteHome_1\jdk\jre\lib\rt.jar;C:\DevSuiteHome_1\forms\demos\jars\javamailintegration.jar;C:\DevSuiteHome_1\forms\demos\jars\mail.jar;C:\DevSuiteHome_1\forms\demos\jars\activation.jar
    What mistake am i doing?
    rgds,
    s

    Slava ,Magoo and S@r@h....
    I have done the following,still no respite..
    step 1) Create the jar file
    C:\myapp>jar cvf AppIcons.jar *.gif
    added manifest
    adding: 111.GIF(in = 28895) (out= 28675)(deflated 0%)
    adding: 222.GIF(in = 28895) (out= 28675)(deflated 0%)
    adding: name_gif.GIF(in = 28903) (out= 28681)(deflated 0%)
    step 2) move the AppIcons.jar in the ClassPATH specified by env file(envFile=formsdemo.env)
    in my case the classpath looks like below
    and I have moved the AppIcons.jar to C:\DevSuiteHome_1\forms\demos\my_app
    CLASSPATH=C:\DevSuiteHome_1\jlib\debugger.jar;C:\DevSuiteHome_1\forms\demos\my_app\AppIcons.jar;C:\DevSuiteHome_1\forms\demos\jars\uploadserver.jar;C:\DevSuiteHome_1\forms\demos\jars\demowebserviceclientside.jar;C:\DevSuiteHome_1\jdk\jre\lib\rt.jar;C:\DevSuiteHome_1\forms\demos\jars\javamailintegration.jar;C:\DevSuiteHome_1\forms\demos\jars\mail.jar;C:\DevSuiteHome_1\forms\demos\jars\activation.jar
    step 3) shutdown and restart the OC4J
    To Answer Slava's question:
    2. Check Jinitiator console and see if AppIcons.jar is loaded.
    You should see :
    Loading http://host:port/forms/java/AppIcons.jar from JAR cache
    YES its loading prefectly.
    To answer Magoo's questions:
    q)What is the incorrect image look like? Somehting like a broken link image?
    Yes,the image is a small page icon which is broken like a torn page(and has three small solid figures in it)
    q)Do you get there a message like Unable to load image 111.gif for Image Item ?
    No I do not get any error message.
    What next ?
    rgds
    s

  • CSS Image loading problem by dynamically loading from fxml file?

    h1. Introduction
    The application I am developing loads an FXML file from a Controller. The FXML uses CSS and images for buttons are set in the CSS.
    CSS directory structure
    <package>.fxml
    Images
    <package>.fxml.resources.<subdir>
    Example CSS Code
    .buttonImage {
        -fx-background-image: url("resources/subdir/image.png");
    }Example loading fxml from controller code
             URL location = getClass().getResource("/package/fxml/UI.fxml");
             FXMLLoader fxmlLoader = new FXMLLoader(location);
             fxmlLoader.setLocation(location);
             fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
             Parent root = (Parent)fxmlLoader.load(location.openStream());
             Controller = (Controller) fxmlLoader.getController();
             newPane.getChildren().add(root);h1. Problem
    The fxml file does not load and causes the following error:
    javafx.fxml.LoadException: Page language not specified.Note, the fxml file loaded correctly before images were added.
    Any ideas of what might be going wrong?
    h1. Attempted
    I have attempted the following: tried changing the url of the image as an absolute path.

    No Problem: Note, this is the actual FXML, my previous examples were simplifications of package names and class names in order to directly illustrate the problem. Note, I am using SceneBuilder to develop the FXML file.
    <?xml version="1.0" encoding="UTF-8"?>
    <?import java.lang.*?>
    <?import java.net.*?>
    <?import java.util.*?>
    <?import javafx.collections.*?>
    <?import javafx.scene.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>
    <?import javafx.scene.text.*?>
    <AnchorPane id="AnchorPane" prefHeight="396.0000999999975" prefWidth="350.0" styleClass="mainFxmlClass" xmlns:fx="http://javafx.com/fxml" fx:controller="com.monkygames.kbmaster.controller.ProfileUIController">
      <children>
        <Label layoutX="14.0" layoutY="14.0" text="Profiles">
          <font>
            <Font size="18.0" />
          </font>
        </Label>
        <GridPane layoutX="15.0" layoutY="44.0" prefHeight="99.0" prefWidth="335.0">
          <children>
            <Label text="Type: " GridPane.columnIndex="0" GridPane.rowIndex="0" />
            <ComboBox fx:id="typeCB" prefWidth="249.0" GridPane.columnIndex="1" GridPane.rowIndex="0">
              <items>
                <FXCollections fx:factory="observableArrayList">
                  <String fx:value="Item 1" />
                  <String fx:value="Item 2" />
                  <String fx:value="Item 3" />
                </FXCollections>
              </items>
            </ComboBox>
            <Label text="Program: " GridPane.columnIndex="0" GridPane.rowIndex="1" />
            <ComboBox fx:id="programCB" prefWidth="249.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
              <items>
                <FXCollections fx:factory="observableArrayList">
                  <String fx:value="Item 1" />
                  <String fx:value="Item 2" />
                  <String fx:value="Item 3" />
                </FXCollections>
              </items>
            </ComboBox>
            <Label text="Profile: " GridPane.columnIndex="0" GridPane.rowIndex="2" />
            <ComboBox prefWidth="249.0" GridPane.columnIndex="1" GridPane.rowIndex="2">
              <items>
                <FXCollections fx:factory="observableArrayList">
                  <String fx:value="Item 1" />
                  <String fx:value="Item 2" />
                  <String fx:value="Item 3" />
                </FXCollections>
              </items>
            </ComboBox>
          </children>
          <columnConstraints>
            <ColumnConstraints fillWidth="false" halignment="RIGHT" hgrow="NEVER" maxWidth="-Infinity" minWidth="10.0" prefWidth="80.0" />
            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
          </columnConstraints>
          <rowConstraints>
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
          </rowConstraints>
        </GridPane>
        <HBox layoutX="14.0" layoutY="150.0" prefHeight="159.0" prefWidth="335.0">
          <children>
            <Label text="Description: " />
            <TextArea prefHeight="172.0" prefWidth="247.0" wrapText="true" />
          </children>
        </HBox>
        <HBox alignment="CENTER" layoutX="11.0" layoutY="334.0" prefHeight="48.0" prefWidth="329.0">
          <children>
            <Button fx:id="newProfileB" contentDisplay="GRAPHIC_ONLY" minHeight="48.0" minWidth="48.0" mnemonicParsing="false" onAction="profileEventFired" prefHeight="48.0" prefWidth="48.0" styleClass="newProfile" text="New Profile" />
            <Button id="newProfileB" fx:id="cloneProfileB" contentDisplay="GRAPHIC_ONLY" minHeight="48.0" minWidth="48.0" mnemonicParsing="false" onAction="profileEventFired" prefHeight="48.0" prefWidth="48.0" styleClass="cloneProfile" text="Clone Profile" />
            <Button id="newProfileB" fx:id="importProfileB" contentDisplay="GRAPHIC_ONLY" minHeight="48.0" minWidth="48.0" mnemonicParsing="false" onAction="profileEventFired" prefHeight="48.0" prefWidth="48.0" styleClass="importProfile" text="Import Profile" />
            <Button id="newProfileB" fx:id="exportProfileB" contentDisplay="GRAPHIC_ONLY" minHeight="48.0" minWidth="48.0" mnemonicParsing="false" onAction="profileEventFired" prefHeight="48.0" prefWidth="48.0" styleClass="exportProfile" text="Export Profile" />
            <Button id="newProfileB" fx:id="printPDFB" contentDisplay="GRAPHIC_ONLY" minHeight="48.0" minWidth="48.0" mnemonicParsing="false" onAction="profileEventFired" prefHeight="48.0" prefWidth="48.0" styleClass="pdfProfile" text="Print to PDF" />
            <Button id="newProfileB" fx:id="deleteProfileB" contentDisplay="GRAPHIC_ONLY" minHeight="48.0" minWidth="48.0" mnemonicParsing="false" onAction="profileEventFired" prefHeight="48.0" prefWidth="48.0" styleClass="deleteProfile" text="Delete Profile" />
          </children>
        </HBox>
      </children>
      <stylesheets>
        <URL value="@master.css" />
        <URL value="@profile.css" />
      </stylesheets>
    </AnchorPane>Edited by: 960799 on Jan 4, 2013 8:58 PM
    Edited by: 960799 on Jan 4, 2013 8:59 PM

  • Java.io.NotSerializableException: sun.awt.image.BufferedImageGraphics2D

    Hi all!
    This problem is in relation to a very complex bean for data visualization which is jarred and bridged as an activex control.
    I am able to create the activex control and embed it in a vb form. But when I try to run the application in vb I get the following message and the application does not start.
    java.io.NotSerializableException: sun.awt.image.BufferedImageGraphics2D The bean has not used the class mentioned above anywhere. It uses the
    Image
    class though. I have used other beans, which use the same drawing techniques as the bean in question, as activex controls, with no errors.
    What could be the problem?
    tia
    Shailesh
    PS: the actual error dump is 1 page long I can send it by email on request.

    Hello,
    Have you implemented the Serializable Interface? I usually receive that error when I forgot to implement that interface. It is mandatory for a JavaBean to implement this interface.
    As an example:
    import java.io.Serializable;
    public class SimpleBean implements Serializable
    I hope it helps.
    Antonio Castro

  • Sun.awt.image.ToolkitImage

    Hi
    I'm integrating with a 3rd party package which delivers various images.
    These come in different objects, mostly BASE64DecoderStream and BufferedImage. But, GIF files are delivered as a ToolkitImage object.
    For the BufferedImage I do something like
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    ImageIO.write(image, "JPG", stream);and puts it in DB. I just can't figure out a way to do the same for ToolkitImage.
    My questions are:
    1. Is there a way to convert/cast the ToolkitImage so i can format/encode it and put it in DB, similar to the example above?
    2. Where is the API documentation for the internal classes in package "sun.awt.image"?
    Hope you experts can help me out here :)

    > Didn't know it could be casted to an Image.
    Do you know of any documentation on sun.awt.image in general?
    Why Developers Should Not Write Programs That Call 'sun' Packages
    The classes that Sun includes with the Java 2 SDK, Standard Edition, fall into package groups java.*, javax.*, org.* and sun.*. All but the sun.* packages are a standard part of the Java platform and will be supported into the future. In general, packages such as sun.*, that are outside of the Java platform, can be different across OS platforms (Solaris, Windows, Linux, Macintosh, etc.) and can change at any time without notice with SDK versions (1.2, 1.2.1, 1.2.3, etc). Programs that contain direct calls to the sun.* packages are not 100% Pure Java. In other words:
    The java.*, javax.* and org.* packages documented in the Java 2 Platform Standard Edition API Specification make up the official, supported, public interface.
    If a Java program directly calls only API in these packages, it will operate on all Java-compatible platforms, regardless of the underlying OS platform.
    The sun.* packages are not part of the supported, public interface.
    A Java program that directly calls into sun.* packages is not guaranteed to work on all Java-compatible platforms. In fact, such a program is not guaranteed to work even in future versions on the same platform.
    For these reasons, there is no documentation available for the sun.* classes. Platform-independence is one of the great advantages of developing in the Java programming language. Furthermore, Sun and our licensees of Java technology are committed to maintaining backward compatibility of the APIs for future versions of the Java platform. (Except for code that relies on serious bugs that we later fix.) This means that once your program is written, the class files will work in future releases.
    Each company that implements the Java platform will do so in their own private way. The classes in sun.* are present in the SDK to support the Sun implementation of the Java platform: the sun.* classes are what make the Java platform classes work "under the covers" for the Sun Java 2 SDK. These classes will not in general be present on another vendor's Java platform. If your Java program asks for a class "sun.package.Foo" by name, it may fail with ClassNotFoundError, and you will have lost a major advantage of developing in Java.
    Technically, nothing prevents your program from calling into sun.* by name. From one release to another, these classes may be removed, or they may be moved from one package to another, and it's fairly likely that their interface (method names and signatures) will change. (From the Sun point of view, since we are committed to maintaining the Java platform, we need to be able to change sun.* to refine and enhance the platform.) In this case, even if you are willing to run only on the Sun implementation, you run the risk of a new version of the implementation breaking your program.
    In general, writing java programs that rely on sun.* is risky: they are not portable, and are not supported.
    ~

  • Image loading cache memory issue

    Hi All,
    I am facing an interesting problem about cache memory. Let me explain it using an example.
    Let say, an xml file contains 5 images information. I want to load a image on stage one by one but randomly ( not on the sequence of XML items). This is working fine.
    Now, i am coming to the issue. If user start the application. Then let say, "image 1" is loaded first and "image 3" is loaded second. Now user's internet connection is lost then i want to show image 1 only and then when user's internet is connected start the ramdom image loading as normal.
    Hope anyone guide me about how to achive the goal !!
    Thanks in Advance.
    Bharat Patel

    you can use the sharedobject class to determine how long ago the user logged in and the sequence of images that you want to display.

  • Spaces in file path preventing image load

    Hi all,
    I've got a problem: after installing Java 1.4 on Windows 2000, some of my image loading code stopped working--but only under very specific conditions (the code in question follows the post).
    If you run an applet locally, AND the applet is accessing the class files in an archive (a ZIP file, in my case), AND the path to the html file that references the applet contains spaces, the Java plug-in can't find any images (using the default Toolkit's 'getImage' method).
    For example, if I launch "c:/projects/slide_test/slide.htm", everything works great, but if I launch "c:/projects/slide test/slide.htm", the images won't load (assuming the .class files exist in an archive in both cases).
    Similarly, if I launch "c:/projects/slide test/slide.htm" but leave the .class files unzipped and in the "slide test" directory, everything works fine.
    The code works great using the Microsoft JVM and worked well under JRE 1.3_0x.
    Has anyone else encountered and/or solved this problem?
    Thanks in advance for any help or comments.
    Here's the image loading code, though I stress it's been working great up to Java 1.4:
    try {
        this.image = Toolkit.getDefaultToolkit().getImage(imageURL);
        try {
            tracker = new MediaTracker(parentApplet);
            tracker.addImage(this.image, 0);
            try {
                tracker.waitForID(0);
                this.iWidth = this.image.getWidth(null);
                this.iHeight = this.image.getHeight(null);
            catch (Exception e) {
                System.out.print("Failed to track image.\n");
        catch (Exception e) {
            System.out.print("applet not yet initialized.\n");
    catch(Exception e) {
        System.out.print("Failed to data for bitmap " + imageURL.toString() + "\n");

    Hey Safir,
    Thanks for the post. Unfortunately, that didn't fix the problem. I tried reforming the URL using "\ " and " " (in place of the '%20' that Java automatically substitutes), but the problem persists.
    Given that the code works as is until you try to access the class files from an archive, I think there's something deeper at work.
    Thanks again.
    Kreitler

  • Slow image loading in Facebook and other sites.

    In some sites, especially Facebook, I've a slow image loading. For example, when I search for a person on Facebook, then the profile image of poeple takes 6-7 secons to load.
    I've installed Firefox yesterday, so I exclude that I have to delete cookies, etc. With Chrome, Facebook load images much more faster. Re-installing shockwave, the loading is faster, but not enough.
    Any suggestions?

    After looking around a bit, I found an add-on called FastestFox.
    You can find the add-on here: [https://addons.mozilla.org/nl/firefox/addon/fastestfox-browse-faster/ FastestFox].
    I haven't done too much research to the actual add-on itself, but after installing it in Firefox myself and using the Facebook person searcher I noticed the images and also other things like websites loading a lot faster.
    I hope this add-on helps you.
    Edit: The add-on adds some extra options when you right click a website (to download things from the website). You have to decide if you think this is worth the extra speed.

  • Question about image loading problem

    Dear Java Gurus,
    I am writing a simple Java Applet application. Basically what it does is every 3 seconds, it tries to get an image from a server and display it (also based on the browser�s client size to do some resize of the image to fit the width of the browser�s client area). But frequently I got this kind of exceptions:
    ----------------------------- Exception 1 --------------------------------------
    Uncaught error fetching image:
    java.lang.ArrayIndexOutOfBoundsException
    at java.lang.System.arraycopy(Native Method)
    at sun.awt.image.PNGFilterInputStream.read(Unknown Source)
    at java.util.zip.InflaterInputStream.fill(Unknown Source)
    at java.util.zip.InflaterInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read1(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at sun.awt.image.PNGImageDecoder.produceImage(Unknown Source)
    at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
    at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
    at sun.awt.image.ImageFetcher.run(Unknown Source)
    ----------------------------- Exception 2 ------------------------------------------
    sun.awt.image.PNGImageDecoder$PNGException: crc corruption
    at sun.awt.image.PNGImageDecoder.getChunk(Unknown Source)
    at sun.awt.image.PNGImageDecoder.getData(Unknown Source)
    at sun.awt.image.PNGFilterInputStream.read(Unknown Source)
    at java.util.zip.InflaterInputStream.fill(Unknown Source)
    at java.util.zip.InflaterInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read1(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at sun.awt.image.PNGImageDecoder.produceImage(Unknown Source)
    at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
    at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
    at sun.awt.image.ImageFetcher.run(Unknown Source)
    Which will cause the image goes to blank in the browser and also degreed down the performance, and I do not know where they are coming from. I tried to put try-catch blocks at possible method calls, but still it does not catch these kind exceptions.
    ---------------------------- My Source Code ----------------------------
    import java.io.*;
    import java.awt.*;
    import java.net.*;
    import java.util.*;
    import java.applet.*;
    import javax.swing.*;
    import java.awt.event.*;
    // This is for Popup Menu
    class PopupListener extends MouseAdapter
    JPopupMenu popup;
    PopupListener(JPopupMenu popupMenu)
    popup = popupMenu;
    public void mousePressed(MouseEvent e)
    maybeShowPopup(e);
    public void mouseClicked(MouseEvent e)
    maybeShowPopup(e);
    public void mouseReleased(MouseEvent e)
    maybeShowPopup(e);
    private void maybeShowPopup(MouseEvent e)
    if (e.isPopupTrigger())
    popup.show(e.getComponent(), e.getX(), e.getY());
    // Image Component who contains the image and will be hosted in the ScrollPane
    class ImageComponent extends JComponent
    Image onscrImage;
    Dimension comSize;
    ImageComponent(Image image)
    onscrImage = image;
    setDoubleBuffered(true);
    comSize = new Dimension(onscrImage.getWidth(null), onscrImage.getHeight(null));
    setSize(comSize);
    public synchronized void paint(Graphics g)
    super.paint(g);
    g.drawImage(onscrImage, 0, 0, this);
    public Dimension getPreferredSize()
    return comSize;
    // Update the image with new image
    public void setImage(Image img)
    onscrImage = img;
    comSize = new Dimension(onscrImage.getWidth(null), onscrImage.getHeight(null));
    setSize(comSize);
    // The main Applet hosted in the browser
    public class MWRemotingApplet extends JApplet
    //Media Tracker to manage the Image loading
    MediaTracker medTracker;
    Image my_Image;
    // ScollPane who contains the image component
    JScrollPane scrollPane;
    ImageComponent imgComp;
    // The applet base URL and image filename passed from htm who hosted the Applet
    URL base;
    String filename;
    // Schedules getting the image
    private java.util.Timer timer;
    private int delay = 3000;
    private boolean bFitToBrowser = false;
    private int iVScrollbarWidth = 20;
    // Popup Menu
    JPopupMenu jPopupMenu;
    JMenuItem popupMenuItem;
    public void init()
    // Set the layout to GridLayout then the it can fill in the Applet
    setLayout(new GridLayout());
    try
    // getDocumentbase gets the applet path.
    base = getCodeBase();
    // Get the image file name from the parameter
    filename = getParameter("filename");
    catch (Exception e)
    JOptionPane.showMessageDialog(null, "Failed to get the path and filename of the image!", "Message", 0);
    return;
    // Create the Media Tracker
    medTracker = new MediaTracker(this);
    // Download the image from the remote server
    // If the image width is greater than the width of the current browser client area
    // Resize the image to fit the width
    // This is because for some reason, this will lead to image not refreshing
    DownloadImage();
    //Add the popup menu
    jPopupMenu = new JPopupMenu();
    popupMenuItem = new JMenuItem("Fit to Browser");
    popupMenuItem.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event) {
    bFitToBrowser = !bFitToBrowser;
    if(bFitToBrowser)
    popupMenuItem.setText("Original Size");
    FitToBrowser();
    else
    popupMenuItem.setText("Fit to Browser");
    DownloadImage();
    if(my_Image != null)
    imgComp.setImage(my_Image);
    jPopupMenu.add(popupMenuItem);
    // Create the image component
    imgComp = new ImageComponent(my_Image);
    //Add listener to the image component so the popup menu can come up.
    MouseListener popupListener = new PopupListener(jPopupMenu);
    imgComp.addMouseListener(popupListener);
    // Create the scroll pane
    scrollPane = new JScrollPane(imgComp);
    scrollPane.setDoubleBuffered(true);
    // Catch the resize event of the Applet
    addComponentListener(new ComponentAdapter()
    public void componentResized(ComponentEvent e)
    super.componentResized(e);
    if(bFitToBrowser)
    FitToBrowser();
    else
    DownloadImage();
    if(my_Image != null)
    imgComp.setImage(my_Image);
    //Add Components to the Applet.
    add("Center", scrollPane);
    validate();
    // Start the timer to periodically download image
    // from remote server
    public void start()
    timer = new java.util.Timer();
    timer.schedule(new TimerTask()
    //creates a timertask to schedule
    // overrides the run method to provide functionality
    public void run()
    DownloadImage();
    if(my_Image != null)
    imgComp.setImage(my_Image);
    , 0, delay);
    public void stop()
    timer.cancel(); //stops the timer
    public synchronized void DownloadImage()
    if(my_Image != null)
    my_Image.flush();
    my_Image = null;
    try
    my_Image = getImage(base, filename);
    catch (Exception e)
    my_Image = null;
    return;
    medTracker.addImage( my_Image, 0 );
    try
    medTracker.waitForAll();
    if ( my_Image != null )
    medTracker.removeImage(my_Image);
    catch (InterruptedException e)
    JOptionPane.showMessageDialog(null, "waitForAll failed while downloading the image!", "Message", 0);
    catch(Exception e1)
    System.out.println("Get Exception = " + e1.getMessage());
    e1.printStackTrace();
    if(bFitToBrowser)
    FitToBrowser();
    else if(my_Image.getWidth(null) > this.getSize().width)
    FitToWidth();
    // Resize the image to fit the browser width and height
    public synchronized void FitToBrowser()
    if(my_Image != null)
    my_Image = my_Image.getScaledInstance(this.getSize().width - 5, this.getSize().height - 5, java.awt.Image.SCALE_SMOOTH);//java.awt.Image.SCALE_AREA_AVERAGING);//java.awt.Image.SCALE_SMOOTH);
    medTracker.addImage( my_Image, 0 );
    try
    medTracker.waitForAll();
    medTracker.removeImage(my_Image);
    catch (InterruptedException e)
    JOptionPane.showMessageDialog(null, "waitForAll failed!", "Message", 0);
    catch (Exception e1)
    System.out.println("Get Exception = " + e1.getMessage());
    e1.printStackTrace();
    // Resize the image to fit the browser width only
    public synchronized void FitToWidth()
    if(my_Image != null)
    int fitHeight = (int)((this.getSize().width - iVScrollbarWidth)*(my_Image.getHeight(null)+0.0)/my_Image.getWidth(null));
    my_Image = my_Image.getScaledInstance(this.getSize().width - iVScrollbarWidth, fitHeight, java.awt.Image.SCALE_SMOOTH);
    medTracker.addImage( my_Image, 0 );
    try
    medTracker.waitForAll();
    medTracker.removeImage(my_Image);
    catch (InterruptedException e)
    JOptionPane.showMessageDialog(null, "waitForAll failed!", "Message", 0);
    catch (Exception e1)
    System.out.println("Get Exception = " + e1.getMessage());
    e1.printStackTrace();
    }

    [url http://forum.java.sun.com/thread.jsp?thread=518979&forum=14]Please[url http://forum.java.sun.com/thread.jsp?thread=518977&forum=32] do[url http://forum.java.sun.com/thread.jsp?thread=518973&forum=37] not[url http://forum.java.sun.com/thread.jsp?thread=518978&forum=42] crosspost. Or [url http://forum.java.sun.com/thread.jsp?forum=7&thread=518976]double-post. Or post to the wrong forum. Or use non-sense subject.

  • Safari (7.0), images load black

    Hello,
    After upgrading to mavericks and safari 7.0, some images from websites that I visit load up black. This seems to be only apparent on safari because I installed google chrome just to see if it would be universal but the images load fine on google chrome. Also, it's interesting how I can see the images during the brief moment when I zoom in/out on the safari browser. I already tried to reinstall the os, repair disk permissions, and delete the cache files. Any help would be appreciated.
    example of how images are
    example of how images are while I am zooming in/out

    From the Safari menu bar, select
    Safari ▹ Preferences ▹ Extensions
    Turn all extensions OFF and test. If the problem is resolved, turn extensions back ON and then disable them one or a few at a time until you find the culprit.
    If you wish, you may be able to salvage the errant extension by uninstalling and reinstalling it. Its settings will revert to their defaults. If the extension still causes a problem, remove it permanently or refer to its developer for support.

Maybe you are looking for

  • I am having many problems with the CC 2014 application manager update

    I have 2 seats. Thus I have CC 2014 installed on four computers. All four are high end desktops with Windows 7 Ultimate 64 bit installed, all four with the latest patches. All four also use high end nvidia graphics cards all with the latest drivers.

  • Email submit

    Is it possible to email a PDF to 2 different people in 2 different formats? From a single user click on a Submit button I want to: 1. Silently email a copy in XDP format to a predefined addressee. 2. Bring up Outlook with the PDF document attached an

  • Why do aria-live="assertive" not working in safari 6?

    I have a .Net Web Application where the requirement is to notify the user whenever there is an automatic change on the Page. For that I have used <div> tag with role="alert" and aria-live="assertive" attributes. The Feature is not working with safari

  • IPhoto5 to iPhoto6 question

    I tried searching the threads here but haven't seen an answer to my specific question. Apologies if this has been already answered... Had my old PowerMac (running iPhoto5) die recently (hard drive survived) and I upgraded to the MacPro (now running i

  • Restricted Distribution Question

    I've been researching restricted and private distribution, mainly reading: http://www.adobe.com/devnet/digitalpublishingsuite/articles/restricted-distribution-with-d igital-publishing-suite.html I understand you need an enterprise account for private