Hallo Tutorials-Fans
Ich habe folgendes Problem mit meinem JTable/TableModel/List-/ListElem.
Ich sitzte schon 2 Tage an einem Fehler und finde einfach keine Lösung. Vielleicht übersehe ich ihn ständig, was sehr peinlich gewesen wäre. Ich würde mich trotzdem freuen, wenn mir jemand helfen könnte.
Zuerst Code-Auszüge, die relevant sind:
Hauptprogramm(hier trifft der Fehler ungefähr in den Zeilen gekennzeichnet *):
Abstract MyTableModel(hier rifft der Fehler in den Zeilen gekennzeichnet mit *):
Kliste(folglich ist hier der fehler irgendwo in goToPosition und wahrscheinlich in removeAll):
Und hier ist endlich der Fehler:
Danke für die Hilfe im Voraus.
Gruß
Taik
Ich habe folgendes Problem mit meinem JTable/TableModel/List-/ListElem.
Ich sitzte schon 2 Tage an einem Fehler und finde einfach keine Lösung. Vielleicht übersehe ich ihn ständig, was sehr peinlich gewesen wäre. Ich würde mich trotzdem freuen, wenn mir jemand helfen könnte.
Zuerst Code-Auszüge, die relevant sind:
Hauptprogramm(hier trifft der Fehler ungefähr in den Zeilen gekennzeichnet *):
Code:
Kliste liste = new Kliste();
MyTableModel mod = new MyTableModel(liste,columnNames);
JTable tab = new JTable(mod);
JScrollPane overview = new JScrollPane(tab);
public void fullTable(){
String k = (String)k_choice.getSelectedItem();
String d = (String)d_choice.getSelectedItem();
liste.fillList(k,d); *
tab.updateUI(); *
}
Code:
public Object getValueAt(int row, int col) {
Kftrag help = data.goToPosition(row); *
switch (col) {
case 0: return help.getName(); //String
case 1: return help.getIdent(); //String
....
default: return null;
}
}
Code:
public Kftrag first;
public Kftrag last;
public Kftrag pos;
public int length;
public Kliste(){
first = null;
last = first;
pos = first;
length = 0;
}
public void fillList(String knt,String dpt){
removeAll();
try{
/*SQL Abfrage*/
/*SQL Antwort Auswertung*/
addNew(a,wk,stu,wa,de,gb/stu,dg,ak,gb-ak*stu,100.0);
}
/*close und Fehlerabfang*/
}
public Kftrag goToPosition(int p){
if (pos.getPosition()<p) {
while(pos.getPosition()!=p){
pos = pos.next;
}
}
else if (pos.getPosition()>p){
while(pos.getPosition()!=p){
pos = pos.prev;
}
}
return pos;
}
public void addNew(...){
Kftrag k = new Kftrag(...);
addAtEnd(k);
}
public void addAtEnd(Kftrag ka){
if (first==null){
first = ka;
last = ka;
ka.setPosition(0);
}
else {
ka.prev = last;
last.next = ka;
last = ka;
ka.setPosition(length);
}
length++;
}
public void removeAll(){
first = null;
last = first;
length = 0;
}
Und hier ist endlich der Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Kliste.goToPosition(Kliste.java:95)
at MyTableModel.getValueAt(MyTableModel.java:46)
at javax.swing.JTable.getValueAt(Unknown Source)
at javax.swing.JTable.prepareRenderer(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Danke für die Hilfe im Voraus.
Gruß
Taik
Zuletzt bearbeitet: