Olá, povo do GUJ, é o seguinte, como posso me “curar” de uma exceção, que acontece nesses casos:
Exception in thread “main” java.lang.NullPointerException
at pacman.Pac.(Pac.java:18):
at pacman.Janela.(Janela.java:16)
at pacman.Janela.main(Janela.java:26)
package pacman;
import javax.swing.JFrame;
public class Janela extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
public Janela()
{
add(new Background());
setTitle("PacMan");
setDefaultCloseOperation(3);
setSize(180, 242);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
public static void main(String[] args){
new Janela();
}
}
at pacman.Background.(Background.java:20):
package pacman;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.*;
public class Background extends JPanel implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private Image fundo;
private Pac pac = new Pac();
private Timer timer;
public Background(){
setDoubleBuffered(true);
setFocusable(true);
addKeyListener(new KeyboardAdapter());
ImageIcon referencia = new ImageIcon("Resources\\fundo.gif");
fundo = referencia.getImage();
timer = new Timer(5, this);
timer.start();
}
@Override
public void paint(Graphics g){
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(fundo, 0, 0, null);
g.dispose();
}
@Override
public void actionPerformed(ActionEvent e) {
pac.move();
repaint();
}
private class KeyboardAdapter extends KeyAdapter{
@Override
public void keyPressed(KeyEvent e) {
pac.keyPressed(e);
}
}
}
