代码行nr.2正在工作,但是我无法获取代码nr.1来工作。 它什么也没显示。
1)图片图片=新图片(“ https://www.countryflags.io/no/shiny/64.png”);
2)图片图片=新图片(“文件:/Users/macbookpro/Desktop/64.png”);
img1.setImage(image);
System.out.println(image.getWidth());
答案 0 :(得分:1)
您是否尝试过打印图像引发的异常?看起来就是这样:
java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.countryflags.io/no/shiny/64.png
只有在将error属性设置为true的情况下,getException()方法才包含非null值,在这种情况下,它包含导致图像加载失败的异常。
有关403响应代码的更多信息,请查看此链接https://httpstatuses.com/403。
更新:您可以通过以下方式使它能够通过浏览器(例如Firefox)模拟对URL的访问:
String imgUrl = "https://www.countryflags.io/no/shiny/64.png";
URLConnection connection = new URL(imgUrl).openConnection();
connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");
Image image = new Image(connection.getInputStream());
通过这种方式,您应该能够加载图像,并且实际上image.isError()将返回false。