Где мой файл изображения должен быть расположен, чтобы следующий код работал? - PullRequest
0 голосов
/ 03 апреля 2020

Итак, я играл с JButton и пытался добавить ImageIcon в JButton. У меня есть следующий код:

window = new JFrame("Test");
window.setSize(1000, 600);
window.setVisible(true);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(null);

Icon icon = new ImageIcon("/Apple.jpg");
JButton apple = new JButton(icon);
apple.setBounds(50, 50, 200, 200);
window.add(apple);

Мне было интересно, где должен находиться файл Apple.jpg, чтобы код работал? В настоящее время Apple.jpg находится в той же упаковке, что и этот класс.

1 Ответ

0 голосов
/ 03 апреля 2020

Глядя на исходный код для конструктора ImageIcon(String), я прихожу к выводу, что передаваемая вами строка обрабатывается как есть.

Следовательно, согласно коду, который вы разместили в своем вопросе, т.е.

Icon icon = new ImageIcon("/Apple.jpg");

Java будет искать файл Apple.jpg в каталоге root.

Если вы работаете на компьютере Windows, как я, Java считает мой Каталог root будет C:\ (на моем компьютере), поэтому он будет искать этот файл: C:\Apple.jpg

Ответ, связанный с этим комментарием к вашему вопросу (из *) 1016 * Гилберт ле Блан c) подробно описывает все способы загрузки изображения. Я просто попытался ответить на ваш вопрос. Таким образом, используя код в своем вопросе, ответ на него заключается в том, что вам нужно будет поместить свой файл (Apple.jpg) в каталог root. Я предполагаю, что вы знаете, где это находится на вашем компьютере. В любом случае, я не смог найти достаточно информации в вашем вопросе, чтобы помочь вам с этим. например, я не могу сказать, на какой ты платформе.

...