Извините за абсолютно наивный вопрос, но как импортировать jpg-файлы в Eclipse?
Документацию в
http://java.sun.com/docs/books/tutorial/2d/index.html я проработала и пытаюсь воссоздать примеры. Получается вот что:в одном проекте существует два пакета test и images. В пакет images я сохраняла картинки jpg через Windows Explorer. Потом открываю Eclipse и создаю в пакете test один класс, который должен загрузить картинку из пакета images. Помимо прочих imports задаю на всякий случай "import бла-бла.images.*;", пытаюсь безуспешно загрузить картинку и вместо этого получаю вывод на консоле моего сообщения из catch (IOException e). Может я чего-то с настройками Eclipse не учла? Вот код тестового класса
public class LoadImageApp extends Component {
BufferedImage img;
public void paint(Graphics g) {
g.drawImage(img, 0, 0, null);
}
public LoadImageApp() {
try {
img = ImageIO.read(new File("./images/strawberry.jpg"));
} catch (IOException e) {
System.out.println("jpg ne gruzitsya ");
}
}
public static void main(String[] args) {
JFrame f = new JFrame("Load Image Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(100,100);
f.add(new LoadImageApp());
f.pack();
f.setVisible(true);
}
}
Здравствуйте, Rienol, Вы писали:
R>Извините за абсолютно наивный вопрос, но как импортировать jpg-файлы в Eclipse?
R>Документацию в http://java.sun.com/docs/books/tutorial/2d/index.html я проработала и пытаюсь воссоздать примеры. Получается вот что:в одном проекте существует два пакета test и images. В пакет images я сохраняла картинки jpg через Windows Explorer. Потом открываю Eclipse и создаю в пакете test один класс, который должен загрузить картинку из пакета images. Помимо прочих imports задаю на всякий случай "import бла-бла.images.*;", пытаюсь безуспешно загрузить картинку и вместо этого получаю вывод на консоле моего сообщения из catch (IOException e). Может я чего-то с настройками Eclipse не учла? Вот код тестового класса
Да при чём тут еклипс, это типа если какая — то лажа то ИДЕ виновата, не тут нужно искать проблему в себе, я вот Вас спрошу, что это за путь такой бешеный
./images/strawberry.jpg
?
Вы вот попробуйте сделдать так и посмотрите что вы просите прочитать ImageIO :
public LoadImageApp() {
try {
File file = new File("./images/strawberry.jpg");
System.out.println( "Absolute Path == " + file.getAbsolutePath());
img = ImageIO.read(file);
} catch (IOException e) {
System.out.println("jpg ne gruzitsya ");
}
}
ну и как путь ещё есть мысли о том что с настройками еклипса проблемма ?
![](/Forum/Images/smile.gif)
Хотя на самом деле может быть не настьроено при билде копировать ресурсы (картинки) в выходную директорию, но я думаю у Вас всё настроено так как по умолчанию такие расширения поддерживаються, хотя можно проверить.
Ну а до проверки я бы советовал попробовать такой метод вместо своего :
public LoadImageApp() {
try {
File file = null;
try
{
URL url = this.getClass().getResource("/images/strawberry.jpg");
file = new File( url.toURI());
}
catch ( URISyntaxException e )
{
System.out.println( "URISyntaxException" + e.getMessage() );
}
if ( file != null )
{
System.out.println( "file.getAbsolutePath() == " + file.getAbsolutePath());
}
img = read(file);
} catch (IOException e) {
System.out.println( "IO = " + e );
}
}
думаю всё будет работать на ура
Удачи ..
Здравствуйте, jitm!
Спасибо за подсказку, с выводом пасса все стало понятно.
Я все исправила и картинки рисуются на ура, как вы и предсказывали.
Насчет критики, то полностью согласна, плохому танцору ИДЕ всегда мешает.
Но все равно не ругайтесь на начинающих — мы все учились по немногу...
Здравствуйте, Rienol, Вы писали:
R>Здравствуйте, jitm!
R>Насчет критики, то полностью согласна, плохому танцору ИДЕ всегда мешает.
R>Но все равно не ругайтесь на начинающих — мы все учились по немногу...
Это для того чтобы не возникало мыслей о том что проблема где — то но только не у меня, с "возрастом" придёт понимание этого .
Здравствуйте, Rienol, Вы писали:
Мои 3 копейки:
1. Импорт:
— испортировать файлы в проект лучше с помощью самого Eclipse;
— в ином случае после импорта выбрать корень проекта и жимкнуть F5;
— или поставить в настройках Eclipse слежение за файловой системой проектов.
2. Для доступа к изображениям лучше пользоваться кеш-классом, который определен в пространстве jface, описание легко найти в статьях на eclipse.org.
... << RSDN@Home 1.2.0 alpha rev. 677>>