Obrazki Java

0

Witam, próbuję zrobić prostą grę. Najpierw chcę dodać do niej obrazki. Mam dodane tło, które wyświetla się poprawnie. Mam problem z dwoma innymi. Gdzie robię błąd?

 
package gra;

import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

public class Start {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                okienko();
            }
        });
    }
   
    public static void okienko()
    {    
        
        JFrame frame = new JFrame("Hold The Ball");
        try
        {
            frame.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File("background.jpg")))));
        } catch (IOException e)
            {
                System.out.println("pliku brak");
            }
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800, 600);
        frame.setResizable(false);
        frame.setVisible(true);
    }
   
}
package gra;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class Game extends JPanel implements ActionListener {

    Image ball;
    Image ground;
    Image arrow;
    
    public Game(){
        try {
            ball = ImageIO.read(new File("ball.png"));
        } catch (IOException e) { 
            System.out.println("pliku brak");
        }
        try {
            ground = ImageIO.read(new File("ground.png"));
        } catch (IOException ex) {
            System.out.println("pliku brak");
        } 
    }
    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(ball, 100, 100, null);
        g.drawImage(ground, 300, 300, null);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
} 
0

Panelu klasy Game nigdzie nie wyświetlasz. Musisz dodać panel Game

frame.add(new Game());

Prościej będzie wyświetlać wszystkie trzy obrazki w metodzie paintComponent.

0

Dodałem go do, ale dalej nic nie wyświetla. Po dodaniu rysowania wszystkich tych obrazków w paintComponent nie uzyskuję żadnego obrazka

1 użytkowników online, w tym zalogowanych: 0, gości: 1