0
int x = 0;
int y = 0;
Image img;
Screen screen;

GamePanel() {
    setBounds(0, 0, 600, 600);
    setLayout(null);
    setVisible(true);
    setBackground(new Color(100, 0, 0));

    screen = new Screen();
    screen.setBounds(0, 0, 600, 600);
    add(screen);

    img = Toolkit.getDefaultToolkit().createImage("monster.jpg");   
}

public void repaintScreen(){
    screen.repaint();
}

private class Screen extends JLabel{

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        g.setColor(Color.BLACK);
        g.drawRect(10, 10, 100, 100);

        g.drawImage(img, 0, 0, this);
    }   
}

Hello I am trying to draw an Image but it never works. I also tryed to load the image in Different ways but allways the same. But there is noch warning so something like that showing up. But when I put it as an Icon in an JLable it works.

MadProgrammer
  • 343,457
  • 22
  • 230
  • 366

1 Answers1

0

final BufferedImage image = ImageIO.read(new File("C:\image.png"));

Confused are you trying to draw to a JPanel/JFrame?

https://docs.oracle.com/javase/tutorial/2d/images/

final BufferedImage image = ImageIO.read(new File("C:\image.png"));
GamePanel gamePanel;

 JPanel pane = new JPanel() {
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(image, 0, 0, null);
        }
    };


    gamePanel(or screen).add(pane);
}
0x2B
  • 91
  • 9