Как можно загрузить изображение как ресурс - 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"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д