Как можно загрузить изображение как ресурс - Java
Формулировка задачи:
Изучать Java начал совсем недавно, и вот что-то сделал. Экспортировал в .jar, потом в .exe, но само изображение не видно, окно получается пустым на др. компьютерах. Можно ли как-то изображение boss.png загрузить так же как и иконку для этого окна?
import javax.imageio.*; import java.io.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class move_img { public static void main(String[] args) { myFrame okno= new myFrame(); } } class myFrame extends JFrame { java.net.URL imgURL = myFrame.class.getResource("/GUI/mainIcon3.png"); public myFrame() { myPanel np = new myPanel(); Container cont = getContentPane(); cont.add(np); setBounds(10, 10, 800, 600); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("Big Russian Boss v.1.0"); setIconImage(new ImageIcon(imgURL).getImage()); } } class myPanel extends JPanel { private int x=0,y=0; private int napr = 2; private Image img; private class myKey implements KeyListener { public void keyPressed(KeyEvent e) { int key_ = e.getKeyCode(); //System.out.println(key_); if(key_==87)napr=0; if(key_==83)napr=1; if(key_==68)napr=2; if(key_==65)napr=3; if(key_==32)napr=4; if(key_==81)napr=5; if(key_==69)napr=6; if(key_==90)napr=7; if(key_==67)napr=8; } public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) {} } public myPanel() { setBackground(Color.PINK); addKeyListener(new myKey()); setFocusable(true); Timer nt = new Timer(1,new ActionListener(){ public void actionPerformed(ActionEvent e){ if(napr==0) y--; if(napr==1) y++; if(napr==2) x++; if(napr==3) x--; if(napr==5) x--; if(napr==5) y--; if(napr==6) x++; if(napr==6) y--; if(napr==7) x--; if(napr==7) y++; if(napr==8) x++; if(napr==8) y++; repaint(); } }); nt.start(); if(napr==4)nt.stop(); try { img = ImageIO.read(new File("C:\\Users\\Герман\\workspace\\Движение картинки\\GUI\\boss.png")); } catch(IOException exp) {} } public void paintComponent(Graphics gr) { super.paintComponent(gr); Font BigFontTR = new Font("TimesRoman", Font.BOLD, 30); Font BigFontTR1 = new Font("TimesRoman", Font.ITALIC, 15); gr.fillRect(x-1,y-1,img.getWidth(null)+2,img.getHeight(null)+2); gr.drawImage(img,x,y,null); gr.setColor(Color.BLACK); gr.setFont(BigFontTR); gr.drawString("Управление:", 5, 860); gr.setFont(BigFontTR1); gr.drawString("W - вверх", 15, 885); gr.drawString("S - вниз", 15, 910); gr.drawString("D - вправо", 15, 935); gr.drawString("A - влево", 15, 960); gr.drawString("Пробел - стоп", 15, 985); gr.drawString("Q - влево вверх", 150, 885); gr.drawString("E - вправо вверх", 150, 910); gr.drawString("Z - влево вниз", 150, 935); gr.drawString("C - вправо вниз", 150, 960); } }
Решение задачи: «Как можно загрузить изображение как ресурс»
textual
Листинг программы
img = ImageIO.read(new File("C:\\Users\\Герман\\workspace\\Движение картинки\\GUI\\boss.png"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д