Eigenes TableModel - NullPointerException

Status
Nicht offen für weitere Antworten.

quarx

Mitglied
Hi Leute !

Ich habe mir eine Klasse geschrieben die das DefaultTableModel erweitert. In meiner Hauptklasse("MainMenu") erstelle ich ein neues JTable mit meinem neuen TracklistTableModel. Das compilen funktioniert noch, aber beim ausführen bekomme ich folgende Fehlermeldung:

Code:
>java Main
Exception in thread "main" java.lang.NullPointerException
        at dnb.TracklistTableModel.getRowCount(TracklistTableModel.java:17)      <<<<<<<<<<<
        at javax.swing.table.DefaultTableModel.setDataVector(DefaultTableModel.java:194)
        at javax.swing.table.DefaultTableModel.<init>(DefaultTableModel.java:98)

        at javax.swing.table.DefaultTableModel.<init>(DefaultTableModel.java:80)

        at javax.swing.table.DefaultTableModel.<init>(DefaultTableModel.java:60)

        at dnb.TracklistTableModel.<init>(TracklistTableModel.java:11)
        at dnb.MainMenu.<init>(MainMenu.java:26)     <<<<<<<<<<<<<<<
        at Main.main(Main.java:14)
Hier der Ausschnitt des Codes aus "MenuMenu.java":
Code:
package dnb;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.io.*;
import java.util.*;
import java.lang.*;

public class MainMenu extends JFrame implements ActionListener {
    
    private ArrayList tracklist = new ArrayList();
    
    public MainMenu() {
        
        String filename = "m:/tracklist.trs";
        getTracks(filename);
              
        .........

        TracklistTableModel myTableModel = new TracklistTableModel();                 //Zeile 26
        JTable table = new JTable();
        myTableModel.setTracklistData(tracklist);
        table.setModel( myTableModel );

        .............
     
    }
}
Und hier noch "TracklistTableModel.java":
Code:
package dnb;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.text.*;
import java.util.*;
import java.lang.*;

public class TracklistTableModel extends DefaultTableModel {
    
    private ArrayList data;
    private final String  columnNames[] = { "Rating", "Artist" , "Title" };
    
    public int getRowCount() {
        return data.size();                                                      // Zeile 17
    }
    
    public int getColumnCount() {
        return columnNames.length;
    }
    
    public String getColumnName(int column) {
        return columnNames[column];
    }
    
    public void setTracklistData(ArrayList toset) {
        data = toset;
        fireTableDataChanged();
    }
    
    public Object getValueAt(int row, int col) {
        track value = (track)data.get(row);
        if (columnNames[col].equals("Rating")) return Integer.toString(value.Rating);
        else if (columnNames[col].equals("Artist")) return value.Artist;
        else if (columnNames[col].equals("Title")) return value.Title;
        else return "NOTHING";
    }
}
Warum bekomme ich eine NullPointerException ?

lg
 

L-ectron-X

Gesperrter Benutzer
Ist Zeile 17 der Hinweis für die Stelle, an der die Exception geworfen wird?
Dann ist vielleicht
Code:
ArrayList data;
noch null, weil noch nicht initialisiert.
Vielleicht fragst Du schon Daten ab
Code:
getRowCount()
ohne der ArrayList vorher einen Wert zugewiesen zu haben.
Code:
setTracklistData(ArrayList toset)
 
B

bygones

Gast
Code:
private ArrayList data;
wird scheinbar nirgends initialisiert -> daher noch null -> daher data.size() NullPointer
 

quarx

Mitglied
deathbyaclown hat gesagt.:
Code:
private ArrayList data;
wird scheinbar nirgends initialisiert -> daher noch null -> daher data.size() NullPointer

Das heisst ich kann einfach die NullPointerException abfangen, bis sie halt initialisiert wurde oder ?
Nur, ich greif ja zu dem Zeitpunkt auf getRowCount() noch garnicht zu, was soll ich dann returnen ?

thx
 
B

bygones

Gast
ich würde das so machen:
Code:
TracklistTableModel myTableModel = new TracklistTableModel(tracklist);                 //Zeile 26
        JTable table = new JTable();
        table.setModel( myTableModel )
und im Model:
Code:
public TracklistTableModel(ArrayList data) {
   this.data = data;
}
dann sollte es gehen !
 

L-ectron-X

Gesperrter Benutzer
@quarx: Hm, das finde ich nicht so gut.
Besser ist eine Überprüfung auf null
Code:
if(data == null) {
  //tu was
}
 

quarx

Mitglied
deathbyaclown hat gesagt.:
ich würde das so machen:
Code:
TracklistTableModel myTableModel = new TracklistTableModel(tracklist);                 //Zeile 26
        JTable table = new JTable();
        table.setModel( myTableModel )
und im Model:
Code:
public TracklistTableModel(ArrayList data) {
   this.data = data;
}
dann sollte es gehen !

Ahja danke, dass schaut gut aus, so werd ichs probieren!

thx an euch beide !
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
GianaSisters Methoden eigenes TableModel -> removeRow möglich machen Java Basics - Anfänger-Themen 30
C eigenes TableModel Java Basics - Anfänger-Themen 2
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
G eigenes package Java Basics - Anfänger-Themen 3
Anfänger2011 Eigenes Betriebssystem Java Basics - Anfänger-Themen 6
P Eigenes Fenster erstellen Java Basics - Anfänger-Themen 5
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
P eigenes Equal mit IndexOf() Java Basics - Anfänger-Themen 5
L eigenes Steuerelement Zeitstrahl Java Basics - Anfänger-Themen 3
F Eigenes Package - Variable exportieren Java Basics - Anfänger-Themen 11
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
C Eigenes Konsolenfenster Java Basics - Anfänger-Themen 3
D Packages verwenden und in eigenes Projekt integrieren Java Basics - Anfänger-Themen 3
B Eigenes Package Java Basics - Anfänger-Themen 6
S Eigenes Objekt temporär verändern? (Clone)? Java Basics - Anfänger-Themen 12
M Eigenes Programm Flaechenrechner Java Basics - Anfänger-Themen 8
L Eigenes List Model für Icon + String -> Speicherhungrig? Java Basics - Anfänger-Themen 8
X Eigenes Kontosystem vervollständigen Java Basics - Anfänger-Themen 11
Developer_X eigenes ImageIcon schreiben Java Basics - Anfänger-Themen 11
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
S Eigenes Kontextmenü Java Basics - Anfänger-Themen 3
I jar in eigenes Programm unwandeln (OSX und Win) Java Basics - Anfänger-Themen 4
R Eigenes Pair Object Java Basics - Anfänger-Themen 2
data89 In Java ein eigenes Lexikon erstellen? Doch wie? Java Basics - Anfänger-Themen 5
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
K javadoc eigenes doclet in console starten Java Basics - Anfänger-Themen 3
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
M Eigenes Ellipse2D-Objekt Java Basics - Anfänger-Themen 5
G Eigenes Fenster Java Basics - Anfänger-Themen 51
N Eigenes Icon in InputDialog geht nicht! Java Basics - Anfänger-Themen 7
J Eigenes Symbol für Java Programm Java Basics - Anfänger-Themen 3
M Eigenes Seitenformat definieren Java Basics - Anfänger-Themen 2
F eigenes Package Java Basics - Anfänger-Themen 2
B Package/Klasse in ein eigenes Projekt einbinden? aber wie? Java Basics - Anfänger-Themen 6
padde479 Zeile entfernen TableModel Java Basics - Anfänger-Themen 11
O TableModel Java Basics - Anfänger-Themen 8
E JTable + TableModel updaten? Java Basics - Anfänger-Themen 1
M TableModel Hintergrundfarbe Java Basics - Anfänger-Themen 6
E Tablemodel füllen..mit gefilterten Daten Java Basics - Anfänger-Themen 2
K keine Reaktion im TableModel nach ändern der liste? Java Basics - Anfänger-Themen 2
K funktioniert in einem TableModel ein Initialisierungsblock? Java Basics - Anfänger-Themen 3
W Problem mit Serialisierung und TableModel Java Basics - Anfänger-Themen 3
J JTable aktualisieren wenn TableModel sich ändert Java Basics - Anfänger-Themen 6
Z TableModel Methode setValueAt Java Basics - Anfänger-Themen 9
w0ddes ImageIcon in Objektarray (TableModel) einfügen. Java Basics - Anfänger-Themen 7
babel TableModel Java Basics - Anfänger-Themen 28
W Innerhalb TableModel auf aktivierte Reihe reagieren Java Basics - Anfänger-Themen 3
B JTable- TableModel und TableCellRenderer Konflikt Java Basics - Anfänger-Themen 4
J Vector - JTable - TableModel Java Basics - Anfänger-Themen 14
G TableModel Java Basics - Anfänger-Themen 7
M TableModel befüllen Java Basics - Anfänger-Themen 14
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben