Я делаю метод, который возвращает ширина и высота изображения.
Это обычный значок 32x32. Вот что я сделал до сих пор:
Image icon;
String filename = "G:\\icon.jpg";
int iconWidth = 0;
int iconHeight = 0;
icon = Toolkit.getDefaultToolkit().getImage(filename);
iconWidth = icon.getWidth(null);
iconHeight = icon.getHeight(null);
System.out.println(iconWidth);
JFrame window = new JFrame();
icon = Toolkit.getDefaultToolkit().getImage(filename);
iconWidth = icon.getWidth(null);
iconHeight = icon.getHeight(null);
System.out.println(iconWidth);
Кодовые выводы
-1
32
32 - правильная ширина изображения. Но почему сначала возвращается -1? Код точно такой же. Удаление строки "JFrame" возвращает два -1. Может ли JFrame влиять на набор инструментов по умолчанию?
Я также попробовал этот код:
JFrame window = new JFrame();
icon = Toolkit.getDefaultToolkit().getImage(filename);
iconWidth = icon.getWidth(null);
iconHeight = icon.getHeight(null);
System.out.println(iconWidth);
Он также возвращает -1. Я просто не могу понять, почему мне нужно дважды позвонить, чтобы получить правильный результат.