Как можно загрузить изображение как ресурс - Java

Узнай цену своей работы

Формулировка задачи:

Изучать Java начал совсем недавно, и вот что-то сделал. Экспортировал в .jar, потом в .exe, но само изображение не видно, окно получается пустым на др. компьютерах. Можно ли как-то изображение boss.png загрузить так же как и иконку для этого окна?
Листинг программы
  1. import javax.imageio.*;
  2. import java.io.*;
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6. public class move_img {
  7. public static void main(String[] args) {
  8. myFrame okno= new myFrame();
  9. }
  10. }
  11. class myFrame extends JFrame
  12. {
  13. java.net.URL imgURL = myFrame.class.getResource("/GUI/mainIcon3.png");
  14. public myFrame()
  15. {
  16. myPanel np = new myPanel();
  17. Container cont = getContentPane();
  18. cont.add(np);
  19. setBounds(10, 10, 800, 600);
  20. setVisible(true);
  21. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22. setTitle("Big Russian Boss v.1.0");
  23. setIconImage(new ImageIcon(imgURL).getImage());
  24. }
  25. }
  26. class myPanel extends JPanel
  27. {
  28. private int x=0,y=0;
  29. private int napr = 2;
  30. private Image img;
  31. private class myKey implements KeyListener
  32. {
  33. public void keyPressed(KeyEvent e)
  34. {
  35. int key_ = e.getKeyCode();
  36. //System.out.println(key_);
  37. if(key_==87)napr=0;
  38. if(key_==83)napr=1;
  39. if(key_==68)napr=2;
  40. if(key_==65)napr=3;
  41. if(key_==32)napr=4;
  42. if(key_==81)napr=5;
  43. if(key_==69)napr=6;
  44. if(key_==90)napr=7;
  45. if(key_==67)napr=8;
  46. }
  47. public void keyReleased(KeyEvent e) {}
  48. public void keyTyped(KeyEvent e) {}
  49. }
  50. public myPanel()
  51. {
  52. setBackground(Color.PINK);
  53. addKeyListener(new myKey());
  54. setFocusable(true);
  55. Timer nt = new Timer(1,new ActionListener(){
  56. public void actionPerformed(ActionEvent e){
  57. if(napr==0) y--;
  58. if(napr==1) y++;
  59. if(napr==2) x++;
  60. if(napr==3) x--;
  61. if(napr==5) x--;
  62. if(napr==5) y--;
  63. if(napr==6) x++;
  64. if(napr==6) y--;
  65. if(napr==7) x--;
  66. if(napr==7) y++;
  67. if(napr==8) x++;
  68. if(napr==8) y++;
  69. repaint();
  70. }
  71. });
  72. nt.start();
  73. if(napr==4)nt.stop();
  74. try
  75. {
  76. img = ImageIO.read(new File("C:\\Users\\Герман\\workspace\\Движение картинки\\GUI\\boss.png"));
  77. }
  78. catch(IOException exp) {}
  79. }
  80. public void paintComponent(Graphics gr)
  81. {
  82. super.paintComponent(gr);
  83. Font BigFontTR = new Font("TimesRoman", Font.BOLD, 30);
  84. Font BigFontTR1 = new Font("TimesRoman", Font.ITALIC, 15);
  85. gr.fillRect(x-1,y-1,img.getWidth(null)+2,img.getHeight(null)+2);
  86. gr.drawImage(img,x,y,null);
  87. gr.setColor(Color.BLACK);
  88. gr.setFont(BigFontTR);
  89. gr.drawString("Управление:", 5, 860);
  90. gr.setFont(BigFontTR1);
  91. gr.drawString("W - вверх", 15, 885);
  92. gr.drawString("S - вниз", 15, 910);
  93. gr.drawString("D - вправо", 15, 935);
  94. gr.drawString("A - влево", 15, 960);
  95. gr.drawString("Пробел - стоп", 15, 985);
  96. gr.drawString("Q - влево вверх", 150, 885);
  97. gr.drawString("E - вправо вверх", 150, 910);
  98. gr.drawString("Z - влево вниз", 150, 935);
  99. gr.drawString("C - вправо вниз", 150, 960);
  100. }
  101. }

Решение задачи: «Как можно загрузить изображение как ресурс»

textual
Листинг программы
  1. img = ImageIO.read(new File("C:\\Users\\Герман\\workspace\\Движение картинки\\GUI\\boss.png"));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут