Hallo Leute,
suche schon sehr lange nach dem Fehler in meinem Quellcode. Meine JTable wird einfach nicht angezeigt. Keine Fehlermeldung vorhanden! Was mache ich falsch! Wenn ich meinen Code debugge, dann sehe ich das mein Model daten enthält. Hier die entsprechenden auszüge aus meinem Quelltext. Irgendwie habe ich die Vermutung das mit meinem setModel etwas nicht stimmt. Es waere echt nett mir jemand weiterhelfen könnte. 4 Augen sehen mehr als 2! Vielen Dank
Gui-Datei
Menu-Klasse
AbstractTableModel
suche schon sehr lange nach dem Fehler in meinem Quellcode. Meine JTable wird einfach nicht angezeigt. Keine Fehlermeldung vorhanden! Was mache ich falsch! Wenn ich meinen Code debugge, dann sehe ich das mein Model daten enthält. Hier die entsprechenden auszüge aus meinem Quelltext. Irgendwie habe ich die Vermutung das mit meinem setModel etwas nicht stimmt. Es waere echt nett mir jemand weiterhelfen könnte. 4 Augen sehen mehr als 2! Vielen Dank
Gui-Datei
Code:
MenuAddressBook1 menu = new MenuAddressBook1(this);
this.setJMenuBar(menu);
table = new JTable();
table.setVisible(true);
this.getContentPane().add(table);
Menu-Klasse
Code:
public void fileChooserAufruf(){
String dateiPlusPfad;
VectorAddressBook1 vector = new VectorAddressBook1();
//Dateifenster wird erzeugt
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(mainFrame);
try{
//Pfad + Dateiname
chooser.rescanCurrentDirectory();
dateiName = chooser.getSelectedFile();
dateiPlusPfad = dateiName.getAbsolutePath();
VectorAddressBook1 meinModel = new VectorAddressBook1();
Vector zeilenVector = meinModel.createCache(dateiPlusPfad);
meinModel.zeilenZerlegtVectoren(zeilenVector);
mainFrame.table.setModel(meinModel);
}catch(Exception ex){
}
}
Code:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
public class VectorAddressBook1 extends AbstractTableModel {
Vector zweiDimVector;
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getRowCount()
*/
public int getRowCount() {
// TODO Auto-generated method stub
return 0;
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getColumnCount()
*/
public int getColumnCount() {
// TODO Auto-generated method stub
return 0;
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getValueAt(int, int)
*/
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
public VectorAddressBook1(){
}
/**
*<b>Beschreibung:</b>In dieser Methode wird die Datei ausgelesen und in den Vector
* geschrieben.
*@param dateiName String //Bezeichnung der Datei die ausgelesen werden soll.
*@return Vector
*/
public Vector createCache(String dateiName){
Vector cache;
FileReader readDatei; //Erzeugt einen FileInputStream
BufferedReader leseInhalt; //Puffered den Inhalt der Datei
String zeile; //Enthaellt pro Schleifendurchlauf eine andere Zeile
cache = new Vector(); //Erzeugt einen Vector
try{
readDatei = new FileReader(dateiName);
leseInhalt = new BufferedReader(readDatei);
//Schreibt Zeilen in den Vector
while((zeile = leseInhalt.readLine()) != null){
cache.add(zeile);
}
}
catch(IOException ioe ) {
System.out.println("Datei wurde nicht gefunden.");
}
return cache;
}//End of createCache
/**
*<b>Beschreibung:</b>In dieser Methode werden die Zeilen in dem Vector zerlegt. Zudem
* wird fuer jede Zeile ein neuer Vector angelegt. Diese "Zeilen -
* Vectoren" werden dann alle wieder in einem Vector gespeichert.
*@param Vector Enthaellt saemtliche Zeilen der Datei
*@return Vector Enthaellt Vectoren.
*/
public void zeilenZerlegtVectoren(Vector zeilenVector){
zweiDimVector = new Vector();
for(int x = 0; x < zeilenVector.size(); x++){
Vector rowVec = new Vector(); // pro Zeile einen Vector anlegen
// Zeile zerlegen in die Bestandteile
// 1,Berthold Britta,bb@fhtw-berlin.de,2005-06-12,true
java.util.StringTokenizer st = new java.util.StringTokenizer(zeilenVector.elementAt(x).toString(),",");
String[] token = new String[5];
int i = 0;
while (st.hasMoreTokens()) {
token[i] = st.nextToken();
// System.out.println("token: "+token[i]);
i++;
}
System.out.println("1");
rowVec.addElement( Integer.valueOf(token[0]) ); // Nr
rowVec.addElement(new String(token[1])); // Name
rowVec.addElement(new String(token[2])); // E-Mail
rowVec.addElement(new String(token[3])); // Datum
rowVec.addElement( Boolean.valueOf(token[4]) ); // true/false
System.out.println("2");
zweiDimVector.addElement(rowVec);
System.out.println("3");
}
System.out.println("4");
}
}