Java. Не рисует картинку на JFrame
Формулировка задачи:
На фрейме есть кнопка, при нажатии на которую увеличивается count и вызывается repaint:
Метод paint(Graphics g):
Так же есть метод ImageDraw(Graphics g, String s1), который пытался реализовать двумя способами:
1. В первом случае, walkable <> null, но картинка не рисуется на фрейме.
2. Во втором, картинка ридером не считывается и выкидыватся ошибка (javax.imageio.IIOException: Can't read input file!):
Почему картинки нормально отрисовываются два раза, а на третий раз падают?
Интересует, в большей степени, почему не рисует в первом способе, но был бы благодарен за разъяснение обоих случаев.
Если это поможет, то вот ссылка на весь проект: https://www.dropbox.com/s/yihei3vxr64ugpt/KleninaJavaFinal.zip?dl=0
Спасибо!
private void jButtonGoActionPerformed(java.awt.event.ActionEvent evt) { ++count; switch(count) { case 1: s = "/Users/danilenkodanilasergeevic/Java/KleninaJavaFinal/pic/Lesson2.png"; jButtonGo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/pokaok.png"))); break; case 2: jButtonGo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/davaigo.png"))); s = "/Lesson31.png"; break; } repaint(); }
public void paint(Graphics g){ ImageDraw(g, s); jButtonGo.repaint(); }
public void ImageDraw(Graphics g, String s1){ ImageIcon icon = new ImageIcon(s1); Image walkable = icon.getImage(); g.drawImage(walkable, 0, 0, this); }
public void ImageDraw(Graphics g, String s1){ Image im = null; try { im = (ImageIO.read(new File(s1))); } catch (IOException ex) { Logger.getLogger(LessonJFrame.class.getName()).log(Level.SEVERE, null, ex); } g.drawImage(im, 0, 0, null); }
Решение задачи: «Java. Не рисует картинку на JFrame»
textual
Листинг программы
s = "pic/Lesson2.png";
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д