Hallo zusammen,
Zur kurzen Code-erklärung: Ich habe 3 Klassen. In der Klasse Ausgabedatei ist eine Array Liste gespeichert, in der für mich relevante Werte gespeichert sind. Mit den Werten möchte ich in der zweiten Klasse Bild ein Säulendiagramm basteln.
Die sobald die Klasse Ausgabedatei angetriggert wird, wird hier main Methode der Klasse Leinwand aufgerufen und aus dieser soll das Bild erstellt werden
Nun gibt es bei mir Probleme mit der Verknüpfung der Array Liste aus Ausgabedatei mit Bild. Ich habe schon ein Objekt von Ausgabedatei in Bild angelegt und eigentlich auch eine Referenz gebildet durch die Methode setzeBild(), dennoch bekomme ich Nullpointerexecptions. Mit der Klasse Bild stimmt sonst alles, wenn ich statt der ArrayList Werte absolute eingebe.
Ich bin wirklich am verzweifeln und würde mich über eine Antwort riesig freuen!
Anbei die relevanten Codeausschnitte:
Klasse Bild:
Klasse Leinwand:
Zur kurzen Code-erklärung: Ich habe 3 Klassen. In der Klasse Ausgabedatei ist eine Array Liste gespeichert, in der für mich relevante Werte gespeichert sind. Mit den Werten möchte ich in der zweiten Klasse Bild ein Säulendiagramm basteln.
Die sobald die Klasse Ausgabedatei angetriggert wird, wird hier main Methode der Klasse Leinwand aufgerufen und aus dieser soll das Bild erstellt werden
Nun gibt es bei mir Probleme mit der Verknüpfung der Array Liste aus Ausgabedatei mit Bild. Ich habe schon ein Objekt von Ausgabedatei in Bild angelegt und eigentlich auch eine Referenz gebildet durch die Methode setzeBild(), dennoch bekomme ich Nullpointerexecptions. Mit der Klasse Bild stimmt sonst alles, wenn ich statt der ArrayList Werte absolute eingebe.
Ich bin wirklich am verzweifeln und würde mich über eine Antwort riesig freuen!
Anbei die relevanten Codeausschnitte:
Klasse Bild:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Bild extends JPanel
{
private Ausgabedatei ausgabedatei;
public void setzeBild(Ausgabedatei pAusgabedatei)
{
this.ausgabedatei = pAusgabedatei;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.setBackground(Color.white);
g.setColor(Color.blue);
g.fillRect(150,500, 25, -ausgabedatei.EingabewerteAusgeben(0));
}
}
Klasse Leinwand:
Java:
public class Leinwand
{
public static void main()
{
JFrame f = new JFrame("Titel1");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Bild bild = new Bild();
f.add(bild);
f.setSize(1000,700);
f.setVisible(true);
}
}
Zuletzt bearbeitet: