Pourquoi est-ce que je reçois un NullPointerException
?obtenir une NullPointerException
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.geom.*;
public class Tetris
{
public static void main(String... args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
TFrame w1=new TFrame();
w1.setVisible(true);
w1.setDefaultCloseOperation(w1.EXIT_ON_CLOSE);
}
});
}
}
class TFrame extends JFrame
{
TFrame()
{
setLayout(null);
setSize(400,800);
JTPanel jp1=new JTPanel();
jp1.setBackground(Color.red);
jp1.setLayout(null);
jp1.setBounds(0,0,400,800);
add(jp1);
}
}
class JTPanel extends JPanel
{
Shape[] s;
Rectangle2D r;
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D gd=(Graphics2D)g;
r=(Rectangle2D)s[0];
System.out.println("first");
r.setFrame(80,20,100,200);
gd.draw(s[0]);
}
JTPanel()
{
//setBackground(Color.red);
Shape[] s=new Shape[3];
for(int i=0;i<3;i++)
{
s[i]=new Rectangle2D.Double();
System.out.println("second");
}
}
}
Parce que vous êtes en train de faire passer ou d'accéder ou d'invoquer une méthode sur quelque chose qui est 'null'. Vérifiez le numéro de ligne dans la première ligne de la pile et faites-lui un trackback dans le code. – BalusC
Donnez-nous la trace de la pile. –
Si vous montrez la pile, il serait beaucoup plus facile pour quelqu'un d'aider –