Exception in thread "Thread-2" java.lang.NullPointerException
at essai.Trajet.traceTraj(Trajet.java:36)
at essai.Trajet.manuel(Trajet.java:25)
at essai.Trajet.run(Trajet.java:29)
j'ai cru comprendre que cette erreur faisait suite a l'appel d'un objet pointant sur null, or j'ai beau chercher je ne vois pas l'erreur dans mon code.
classe main:
public class Main {
public Main() {
}
public static void main(String[] args) {
Application appli= new Application();
}
}
classe InterfaceGraphique
package essai;
import java.awt.Graphics;
public class InterfaceGraphique extends javax.swing.JFrame {
private Graphics g;
private int hauteur=0;
private int largeur=0;
private Application app=null;
public InterfaceGraphique() {
}
public InterfaceGraphique(Application app) {
initComponents();
this.setSize(1024,760);
this.app=app;
this.g=g;
this.largeur=jPanelTrajet.getWidth();
this.hauteur=jPanelTrajet.getHeight();
}
public Graphics getG(){
return this.g;
}
public int getLargeur(){
return this.largeur;
}
public int getHauteur(){
return this.hauteur;
}
public void paint(Graphics g){
super.paint(g);
}
private void initComponents() {
//code généré par netbeans pour l'interface graphique que j'ai supprimé pour le forum
}
private void jButtonDemarrerAcqActionPerformed(java.awt.event.ActionEvent evt) {
repaint();
app.demarrerApplication();
// TODO add your handling code here:
}
/*
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InterfaceGraphique().setVisible(true);
}
});
}*/
private javax.swing.JButton jButtonDemarrerAcq;
private javax.swing.JPanel jPanelTrajet;
}
classe Application:
package essai;
import java.awt.Graphics;
public class Application {
private InterfaceGraphique interGraph=null;
private Trajet t=null;
private Graphics g;
public Application() {
this.interGraph=new InterfaceGraphique(this);
this.interGraph.setVisible(true);
this.t=new Trajet(this.interGraph.getG(),this.interGraph.getLargeur(),this.interGraph.getHauteur());
}
public void init(){
initObjects();
}
public void initObjects(){
this.t=new Trajet(this.interGraph.getG(),this.interGraph.getLargeur(),this.interGraph.getHauteur());
}
public void demarrerApplication(){
this.interGraph.repaint();
this.t.start();
}
}
classe Trajet:
package essai;
import java.awt.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
public class Trajet extends Thread{
private Graphics g;
public Trajet() {
}
public Trajet(Graphics g,int largeur,int hauteur){
this.g=g;
}
public void manuel(){
traceTraj(this.g);
}
public void run(){
manuel();
}
private void traceTraj(Graphics g) {
Graphics2D g2D=(Graphics2D)g;
g2D.setPaint(Color.GREEN);
this.g.drawLine(50,50,200,100);
}
}
Merci d'avance à ceux qui se pencherons sur mon problème ;)


