C
Chris22
Gast
Hallo, ich habe ein Problem mit einer selbstgeschriebenen Klasse die ich aus JPanel abgeleitet habe
erstmal der Code :
Die selbstgeschriebene Klasse
Die Hauptklasse:
Wenn ich das Kompiliere bricht er danach ab mit
Wenn ich mein LigaSchützen in der for-Schleife neu instanziere (Zeilen 26 & 31) bricht das Programm zwar nicht ab aber, die Panels scheinen "verschoben". d.h. alle Panels sind an der Stelle wo sie sein sollen, nur das erste Panel ist leer, im zweiten sind die Angaben die im ersten sein sollten, im dritten die die im zweiten sein sollten,.. usw die informationen die im zehnten (letzten) stehen sollten tauchen gar nicht auf.
Außerdem wenn ich die in der Schleife neu instanziere werden die Arrays aus Zeile 10&11 nicht überschrieben ??
Ich bedanke mich schon mal im Vorraus.
MfG Chris
erstmal der Code :
Die selbstgeschriebene Klasse
Code:
import javax.swing.JLabel;
import javax.swing.JPanel;
public class LigaSchütze extends JPanel {
static String name;
static int[] serie = new int[4];
public LigaSchütze () {
add(new JLabel(name));
for (int x = 0; 4 > x; x++) {
JLabel Serie = new JLabel(""+serie[x]);
add(Serie);
}
add(new JLabel(""+ getSumme()));
}
public void setSerie (int serie, int ringe) {
this.serie[serie-1] = ringe;
}
public void setSchützenName (String name) {
this.name = name;
}
}
Die Hauptklasse:
Code:
import java.awt.*;
import javax.swing.*;
public class Liga extends JFrame{
String[][] Name = { {"Arthur", "Marvin","Trillian","Zaphod","Ford"},
{"Tim", "Tom","Theo","Tanja","Tamara"}};
LigaSchütze[] Heim = new LigaSchütze[5];
LigaSchütze[] Gast = new LigaSchütze[5];
public static void main(String[] args) {
new Liga ();
}
public Liga () {
super ("Bezirksliga");
setSize(Toolkit.getDefaultToolkit().getScreenSize());
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel Körperteil = new JPanel();
Körperteil.setLayout(new GridLayout(5, 2));
for (int x = 0; 5 > x; x++) {
// Heim[x] = new LigaSchütze();
Heim[x].setSchützenName(Name[0][x]);
Heim[x].setSerie(1, x*10);
Körperteil.add(Heim[x]);
// Gast[x] = new LigaSchütze();
Gast[x].setSchützenName(Name[1][x]);
Gast[x].setSerie(1, x*10+5);
Körperteil.add(Gast[x]);
}
add(Körperteil, BorderLayout.CENTER);
setVisible(true);
}
}
Wenn ich das Kompiliere bricht er danach ab mit
run:
Exception in thread "main" java.lang.NullPointerException
at de.schafschütze.Liga.<init>(Liga.java:32)
at de.schafschütze.Liga.main(Liga.java:14)
Java Result: 1
Wenn ich mein LigaSchützen in der for-Schleife neu instanziere (Zeilen 26 & 31) bricht das Programm zwar nicht ab aber, die Panels scheinen "verschoben". d.h. alle Panels sind an der Stelle wo sie sein sollen, nur das erste Panel ist leer, im zweiten sind die Angaben die im ersten sein sollten, im dritten die die im zweiten sein sollten,.. usw die informationen die im zehnten (letzten) stehen sollten tauchen gar nicht auf.
Außerdem wenn ich die in der Schleife neu instanziere werden die Arrays aus Zeile 10&11 nicht überschrieben ??
Ich bedanke mich schon mal im Vorraus.
MfG Chris