Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #38766

Re: it's Closeable, but I don't want to close() it yet.

Newsgroups comp.lang.java.programmer
Date 2019-02-28 13:52 -0800
References <slrnq7dcgo.cfl.avl@logic.at> <8617d379-1659-4582-94fe-6ffb95c975e4@googlegroups.com> <3167672b-6941-4802-acd7-3b7defe06348@googlegroups.com>
Message-ID <91d4e209-bbe3-4fe1-9506-7984f8ed64cc@googlegroups.com> (permalink)
Subject Re: it's Closeable, but I don't want to close() it yet.
From bursejan@gmail.com

Show all headers | View raw


If you need caching, you can cache on icon level.
The same ImageIcon instance can be used in multiple 
places, right?

On Thursday, February 28, 2019 at 10:49:43 PM UTC+1, burs...@gmail.com wrote:
> Hint: Don't use MyClass.class.getResourceAsStream.
> Use getResource which gives you an URL, and provide
> this to ImageIcon.
> 
> Swing will create a background worker, and load the
> ImageIcon for you. getResource doesn't throw
> any error, but it might return null:
> 
>    URL url = clazz.getResource("relative path to icon");
>    if (url!=null) {
>       ImageIcon icon=new ImageIcon(url);
>       /* do something with the icon,
>          it should already be loaded */
>    } else {
>       /* your setup is wrong or programming error
>          wrong class or wrong relative path */
>    }
> 
> On Thursday, February 28, 2019 at 9:11:41 PM UTC+1, Eric Douglas wrote:
> > On Wednesday, February 27, 2019 at 10:52:01 AM UTC-5, Andreas Leitgeb wrote:
> > > In my application there exists an entity that is Closeable.
> > > It is kept in some class, and other parts of my application
> > > request a ref to the entity and do actions on it, then drop
> > > their ref, leaving the entity intact.
> > > 
> > > Everything runs fine, except eclipse warns me about spots
> > > where the entity is requested, used, and then dropped.
> > > Eclipse thinks it might need to be close()d.
> > > 
> > > Apart from ignoring the warning per eclipse settings or
> > > adding @SuppressWarnings, is there maybe a way to tell
> > > the compiler that a certain ref is not meant to be close()d?
> > > Letting it know that - despite the entity's ultimate fate of
> > > being eventually closed - this is not yet the time&place for it?
> > 
> > Here's where it gets ugly.  I've had the "Potential resource leak" error just turned off, now I'm trying to turn it on and change code to make it go away.  I have a class with class level final public static ImageIcon variables.  I initialize each ImageIcon in a static block which calls MyClass.class.getResourceAsStream() to open an InputStream to an image file which is packaged into the jar (so if this ever gets an error you've got serious problems).  I then pass that InputStream into another method in a utility class which uses ImageIO to generate the ImageIcon.  That method closes the stream.  Eclipse complains the stream may be leaked in this class.  I take the close out of that class and try to change this to use the try-with-resources.  I previously needed no try statement in this static block.  When I wrote a try-with-resources for a SQL Statement it didn't ask for any exception clause, but here it's telling me I need to catch IOException.  Now of course my assignment of the ImageIcon must be inside this try block, and if I add a catch clause it's complaining it may not be initialized, so I have to initialize it to null in the constructor and remove the final.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-02-27 15:51 +0000
  Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-27 08:48 -0800
    Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-02-27 19:03 +0000
      Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-27 11:09 -0800
        Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-02-28 12:20 +0000
          Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 06:19 -0800
            Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 06:52 -0800
              Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 08:24 -0800
                Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 08:34 -0800
                Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 09:00 -0800
                Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 11:12 -0800
                Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 11:26 -0800
                Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 11:33 -0800
                Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 11:37 -0800
                Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 11:41 -0800
                Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 11:48 -0800
                Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 12:51 -0800
                Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-03-01 08:47 +0000
                Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-03-01 09:31 +0000
                Re: it's Closeable, but I don't want to close() it yet. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2019-03-03 02:01 +0100
                Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-03-04 09:38 +0000
                Re: it's Closeable, but I don't want to close() it yet. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2019-03-04 12:26 +0100
                Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-03-05 14:34 +0000
                Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-03-05 07:34 -0800
                Re: it's Closeable, but I don't want to close() it yet. Arne Vajhøj <arne@vajhoej.dk> - 2019-03-04 13:59 -0500
  Re: it's Closeable, but I don't want to close() it yet. Marcel Mueller <news.5.maazl@spamgourmet.org> - 2019-02-28 08:30 +0100
    Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-02-28 19:10 +0000
      Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 11:34 -0800
      Re: it's Closeable, but I don't want to close() it yet. Marcel Mueller <news.5.maazl@spamgourmet.org> - 2019-02-28 22:24 +0100
        Re: it's Closeable, but I don't want to close() it yet. Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2019-02-28 23:25 +0100
          Re: it's Closeable, but I don't want to close() it yet. Andreas Leitgeb <avl@logic.at> - 2019-03-01 09:43 +0000
  Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 12:11 -0800
    Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 13:49 -0800
      Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 13:52 -0800
        Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 13:59 -0800
          Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-02-28 16:17 -0800
  Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 12:26 -0800
  Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-02-28 13:44 -0800
  Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-03-01 07:40 -0800
    Re: it's Closeable, but I don't want to close() it yet. bursejan@gmail.com - 2019-03-01 08:34 -0800
  Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-03-11 06:27 -0700
    Re: it's Closeable, but I don't want to close() it yet. Eric Douglas <e.d.programmer@gmail.com> - 2019-03-11 07:24 -0700

csiph-web