Dúvida sobre o paint

Olá pessoal… não sei se estou colocando minha pergunta na seção correta, mas creio que seja uma coisa simples de resolver…

Estou criando um JApplet com duas classes: MyLine.java e Testezinho.java. Como deu pra perceber, Testezinho testa MyLine…

Testezinho:

[code]import javax.swing.;
import java.awt.
;

public class Testezinho extends JApplet
{
public void init()
{
int x1 = 20;
int y1 = 32;
int x2 = 400;
int y2 = 210;

    MyLine lines = new MyLine(x1, y1, x2, y2);
}

MyLine line;

public void paint(Graphics g)
{  
     line.draw(g);
    
}   

}[/code]

MyLine:

[code]import java.awt.*;

public class MyLine extends Testezinho
{
int x1, y1, x2, y2;

MyLine(int x1, int y1, int x2, int y2)
{                

    this.x1 = x1;
    this.y1 = y1;
    this.x2 = x2;
    this.y2 = y2;
    
}

public void draw(Graphics g)
{
    super.paint(g);

    g.drawLine(x1, y1, x2, y2);
}

}[/code]

O problema é o seguinte:

Eu preciso desenhar uma reta utilizando o drawLine que está dentro de MyLine.
Porém, quando vou rodar o Applet, sempre dá NullPointerException. Creio que o problema esteja no método draw(Graphics g).

Fiquei praticamente o dia todo tentando resolver isso e até agora não consegui. :frowning:

Alguém pode me ajudar?

[]'s

line não foi inicializada, está a null.

certeza, não foi inicializada

Não coloquei aí nesse código, mas em MyLine existe um outro método construtor sem argumentos de entrada que inicializa as váriaveis com 0. Resumindo:

MyLine line = new MyLine(x1, y1, x2, y2); // Inicializa as variáveis com os valores fornecidos

MyLine line = new MyLine(); //Inicializa as variaveis com 0

Agora, como posso inicializar o line ?

Alguém ???

Na classe Testezinho estás a criar um objecto e a tentar desenhar outro. Provavelmente o que pretendes é criar e desenhar o mesmo objecto.

[code]
import javax.swing.;
import java.awt.
;

public class Testezinho extends JApplet {

 MyLine line;      

 public void init()       {  
     int x1 = 20;  
     int y1 = 32;  
     int x2 = 400;  
     int y2 = 210;  

     line = new MyLine(x1, y1, x2, y2);  
 }  
   


 public void paint(Graphics g)  
 {    
      line.draw(g);  
       
 }     

}[/code]