powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / IOException при попытке сделать объект Image
11 сообщений из 11, страница 1 из 1
IOException при попытке сделать объект Image
    #33663664
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDK 1.4

Простите, я ламер и пока только учусь.
Пытаюсь нарисовать картинку из файла на панели. Для этого сделал наследника JPanel.
Вот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
 import  javax.swing.JPanel;
 import  java.awt.*;
 import  java.io.*;
 import  java.awt.geom.*;
 import  javax.imageio.*;

 class  PicturePanel  extends  JPanel {
	
	 protected  String FileName;
	 protected  Image image;
	
	 public   void  paintComponent(Graphics g){
		Graphics2D g2 = (Graphics2D)g;
		Rectangle2D rect =  new  Rectangle2D. Double ( 0 ,  0 ,  100 ,  100 );
		g2.setPaint(Color.BLACK);
		g2.fill(rect);
	}
	
	 public  PicturePanel(String FileName){
		 this .FileName = FileName;
		File f =  new  File("jicontest.GIF");
		 try {
			 this .image = ImageIO.read( new  File("jicontest.GIF"));
		}
		 finally {
			System.out.println("123");
		}
	}

}

Строчку this.image = ImageIO.read(new File("jicontest.GIF")); Эклипс сразу подчеркнул красным. При попытке скомпилять начинает страшно матерится:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Severity	Description	Resource	In Folder	Location	Creation Time	Id
 2 	Unhandled exception type IOException	PicturePanel.java	ButtonTest	line  23 	 13  Апрель  2006  г.  11 : 13 : 46 	 562 
 1 	The  import  javax.swing.JPanel is never used	ButtonFrame.java	ButtonTest	line  14 	 13  Апрель  2006  г.  11 : 10 : 31 	 553 
 1 	The serializable  class  ButtonFrame does not declare a  static   final  serialVersionUID field of type  long 	ButtonFrame.java	ButtonTest	line  17 	 13  Апрель  2006  г.  11 : 10 : 31 	 554 
 1 	The field ButtonFrame.file is never read locally	ButtonFrame.java	ButtonTest	line  21 	 13  Апрель  2006  г.  11 : 10 : 31 	 555 
 1 	The local variable f is never read	ButtonFrame.java	ButtonTest	line  61 	 13  Апрель  2006  г.  11 : 10 : 31 	 556 
 1 	The  import  java.awt.event is never used	ButtonTest.java	ButtonTest	line  2 	 13  Апрель  2006  г.  10 : 37 : 27 	 464 
 1 	The  import  java.io is never used	ButtonTest.java	ButtonTest	line  4 	 13  Апрель  2006  г.  10 : 37 : 27 	 465 
 1 	The  import  javax.imageio is never used	ButtonTest.java	ButtonTest	line  5 	 13  Апрель  2006  г.  10 : 37 : 27 	 466 
 1 	The serializable  class  ColorButton does not declare a  static   final  serialVersionUID field of type  long 	ColorButton.java	ButtonTest	line  4 	 12  Апрель  2006  г.  15 : 57 : 15 	 389 
 1 	The serializable  class  PicturePanel does not declare a  static   final  serialVersionUID field of type  long 	PicturePanel.java	ButtonTest	line  7 	 13  Апрель  2006  г.  11 : 13 : 46 	 561 
Однако критическая ошибка только эта:
Severity Description Resource In Folder Location Creation Time Id
2 Unhandled exception type IOException PicturePanel.java ButtonTest line 23 13 Апрель 2006 г. 11:13:46 562


Помогите пожалуйста. Очень хочется фотку на панель поместить:)
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33663887
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
catch (IOException e) добавь перед finally.
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665374
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Перекроил конструктор в соответствии с указаниями:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 public  PicturePanel(String FileName){
		 this .FileName = FileName;
		File f =  new  File("jicontest.GIF");
		 try {
			 this .image = ImageIO.read( new  File("jicontest.GIF"));
		}
		 catch  (IOException e){
			System.out.println("321");
		}
		 finally {
			System.out.println("123");
		}
	}
Вообще-то в той книжке по которой я учусь ( http://www.williamspublishing.com/Books/5-8459-0970-8.html) так и было велено сделать. Тоесть в листинге просто сделано через try catch. finally там, к слову сказать, не было.

Но откуда вылезает исключение? Ведь это затычка получается. Ошибок быть не должно. А то некрасиво как-то получается:)
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665378
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати: на консоль вывелось 123, а не 321. Тоесть в процессе запуска возникает какое-то другое исключение. Это баг, или фича?
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665387
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinКстати: на консоль вывелось 123, а не 321. Тоесть в процессе запуска возникает какое-то другое исключение. Это баг, или фича?
тормас? ты ж в делфи писал? там же такой же блок используется.
finally {...} исполняется всегда. вне зависимости было или нет исключение.
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665392
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Грасоff™ SarinКстати: на консоль вывелось 123, а не 321. Тоесть в процессе запуска возникает какое-то другое исключение. Это баг, или фича?
тормас? ты ж в делфи писал? там же такой же блок используется.
finally {...} исполняется всегда. вне зависимости было или нет исключение.ты ж книжку деловую читаешь - мог бы там
по диагонали прочтать про finally :)
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665413
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фубля! Тормоз!

Но сейчас мне наиболее интересно откуда вылизает эксцепшн.
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665424
javaScript != java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SarinФубля! Тормоз!

Но сейчас мне наиболее интересно откуда вылизает эксцепшн.

Не вылезает он.

В дельфи все эксепшины unchecked, в java - есть ещё checked exceptions.

IOException является checked.

При чтении картинки, может оказаться, что её нет на диске.
Что тогда делать?
Ничего.
Обрабатывать IOException.
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665463
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javaScript != java
При чтении картинки, может оказаться, что её нет на диске.
Что тогда делать?
Ничего.
Обрабатывать IOException.
Это типо принудительно заставляют писать через обработку ИС?
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665688
javaScript != java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SarinЭто типо принудительно заставляют писать через обработку ИС?

Конечно.
...
Рейтинг: 0 / 0
IOException при попытке сделать объект Image
    #33665747
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javaScript != javaКонечно.
Ява очень спартанский язык. В нём начинают бить по голове очень больно не за ошибку, а только за мысль о ней:)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / IOException при попытке сделать объект Image
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]