N
noBrain
Gast
Hi,
versuche aus der DB entities in ner JTable anzeigen zu lassen. Hab mich an nem Beispiel orientiert. Leider sehe ich keine Daten aber auch keine Fehlermeldung.
Vermutung: Ich übergebe etwas falsch / instanziiere es nicht richtig.....
Kann jemand helfen?
Hier die GUI wo ich die table aufrufe:
Dann habe ich die Query:
Dann noch mein Uebergabeobject mi allen get und set Methoden:
Naja und eben mein TableModel
Bin für jeden Hinweise dankbar...
versuche aus der DB entities in ner JTable anzeigen zu lassen. Hab mich an nem Beispiel orientiert. Leider sehe ich keine Daten aber auch keine Fehlermeldung.
Vermutung: Ich übergebe etwas falsch / instanziiere es nicht richtig.....
Kann jemand helfen?
Hier die GUI wo ich die table aufrufe:
Code:
............
Vector vec = new Vector();
Datenbank db = new Datenbank();
vec = db.query();
TableModel tabMod = new TableModel(vec);
for(int i = 0; i<vec.size(); i++)
{
Uebergabeobject ueber = (Uebergabeobject)vec.elementAt(i);
tabMod.setValueAt(ueber.m_Kategorie,i,0);
tabMod.setValueAt(ueber.m_Text,i,1);
tabMod.setValueAt(String.valueOf(ueber.m_Betrag),i,2);
tabMod.setValueAt(ueber.m_Periode,i,3);
tabMod.setValueAt(ueber.m_Datum,i,4);
}
JTable table = new JTable(tabMod);
table.getTableHeader().setReorderingAllowed(false);
table.setSize(495,277);
table.setLocation(300,300);
JScrollPane scrollPane = new JScrollPane( table );
scrollPane.setSize(495,277);
scrollPane.setLocation(300,300);
contentPane.add( scrollPane );
fr.setVisible(true);
Dann habe ich die Query:
Code:
.........
rs1 = stmt1.executeQuery( sqlQuery1 );
Vector v = new Vector();
Uebergabeobject uebergabe = new Uebergabeobject();
while ( rs1.next() )
{
uebergabe.m_1 = rs1.getString(1);
uebergabe.m_2 = rs1.getString(2);
uebergabe.m_3 = rs1.getDouble(3);
uebergabe.m_4= rs1.getString(4);
uebergabe.m_5 = rs1.getString(5);
v.addElement(uebergabe);
}
stmt1.close();
con.close();
return v;
Dann noch mein Uebergabeobject mi allen get und set Methoden:
Code:
public class Uebergabeobject {
public String m_1;
public String m_2;
public double m_3;
public String m_4;
public String m_4;
public Uebergabeobject()
{}
public Uebergabeobject (String string1, String string2,
double double3, String string4,
String string5)
{ m_1 = string1;
m_2 = string2;
m_3 = double3;
m_4 = string4;
m_5 = string5;}
public String getString1()
{return m_1;}
public String getString2()
{return m_2;}
public double getDouble3()
{return m_3;}
public String getString4()
{return m_4;}
public String getString5()
{return m_5;}
public void setString1(String string1)
{m_1 = string1;}
public void setString2(String string2)
{m_2 = string2;}
public void setDouble3(double double3)
{m_1 = string1;}
public void setString4(String string4)
{m_4 = string4;}
public void setString5(String string5)
{m_5 = string5;}
}
Naja und eben mein TableModel
Code:
public class TableModel extends AbstractTableModel
{
//Columns Number.
public static final int 1_COL = 0;
public static final int 2_COL = 1;
public static final int 3_COL = 2;
public static final int 4_COL = 3;
public static final int 5_COL = 4;
private String[] m_columnNames = { "Name", "Vorname", "Betrag","Buch", "Vote" };
// Spaltentyp wird definiert
public Class[] m_colTypes = { String.class,
String.class,
double.class,
String.class,
String.class};
//Vector m_mac_DataVector nimmt die Daten auf
Vector m_macDataVector = new Vector();
//Constructor
public TableModel(Vector macDataVector)
{
//store the data
m_macDataVector = macDataVector;
}
// Gibt die Spaltenanzahl zurück
public int getColumnCount()
{
System.out.println("Spaltenanzahl" + m_columnNames.length);
return m_columnNames.length;
}
//Gibt den Spaltentyp zurück
public Class getColumnClass(int col) { return m_colTypes[col]; }
// Gibt die Zeilenanzahl zurück
public int getRowCount()
{
System.out.println("TableModel getRowCount:" + m_macDataVector.size());
return m_macDataVector.size();
}
/*
public void setLength(int rows) { <===Das ist auch noch nicht richtig :|
data = new Vector[rows][this.getColumnCount()];
fireTableRowsInserted(0, data.size());
}
*/
// Spaltennamen
public String getColumnName(int col){return m_columnNames[col]; }
public Object getValueAt(int row, int col)
{
Uebergabeobject tabueber = (Uebergabeobject)(m_macDataVector.elementAt(row));
switch(col)
{
case 1_COL: return tabueber.getString1();
case 2_COL: return tabueber.getString2();
case 3_COL: return String.valueOf(tabueber.getDouble3());
case 4_COL: return tabueber.getString4();
case 5_COL: return tabueber.getString5();
}
return new String();
}
public void setValueAt(Object value, int row, int col)
{
Uebergabeobject tabueber = (Uebergabeobject)(m_macDataVector.elementAt(row));
switch(col)
{
case 1_COL : tabueber.setString1((String)value); break;
case 2_COL: tabueber.setString2((String)value); break;
case 3_COL: ; tabueber.setBetrag(Double.parseDouble((String)value));break;
case 4_COL: tabueber.setString4((String)value); break;
case 5_COL: tabueber.setString5((String)value); break;
}
}
/*public void setValueAt(int value, int row, int col) <====WIe verwende ich diese Funktion richtig???
{
m_macDataVector[row][col] = "" + value;
fireTableCellUpdated(row, col);
}
*/
}
Bin für jeden Hinweise dankbar...