Image class and paths relative to classpath
martin.sladecek at oracle.com
Mon Apr 23 23:20:02 PDT 2012
I have no strong preference, classpath URI scheme is one of the options
we may use. The only downside of this approach I see is that people will
have to read through the Image's constructor javadoc to find out that
there's this option.
On 04/23/2012 05:37 PM, Daniel Zwolenski wrote:
> An alternative to the separate method is to define a 'classpath' protocol as part of the URL:
> Image image = new Image("classpath:/foo/bar.png");
> This is common in Spring and seems quite nice to me. It has the advantage of working with constructors and is fully backwards compatible.
> I could live with a new method if that was the preference though.
> On 23/04/2012, at 10:58 PM, Martin Sladecek<martin.sladecek at oracle.com> wrote:
>> JIRA: http://javafx-jira.kenai.com/browse/RT-18291
>> this JIRA request is about adding support for "URL" in Image constructor that is interpreted as a classpath-relative path when a leading slash is present.
>> However, this is currently interpreted as absolute file URL.
>> In order not to break current behaviour I propose to introduce new set of static factory methods.
>> Image.fromClassPath(String path, double requestedWidth, double requestedHeight, boolean preserveRatio, boolean smooth, boolean backgroundLoading);
>> + overloaded method similar to Image constructors.
>> The idea is to interpret paths with leading slash as absolute to the classpath root (basically the same as Thread.currentThread().getContextClassLoader().getResource(path) ), while relative paths might be interpreted as relative to the caller class. So Image.fromClassPath("duke.jpg") called from myapplication.Application will look for the file in myapplication package.
>> What do you think?
More information about the openjfx-dev