hallo zusammen,
hab wieder mal ein (für euch kleines) Problem und zwar schaffe ich es nicht,die ausgelesenen Daten (Datenbank) in eine Tabelle zu schreiben. Kurzer Überblick: Klasse DataManager (schreibt und) ließt die Daten aus der DB, wobei das Auslesen über getMessreihen() erfolgen soll. Die Daten sollen in der Tabell mrTable landen,für welche es ein TableModel gibt (Klasse TableModelMR). Die Tabelle befindet sich in der Klasse MainFrame. So,das sollte es gewesen sein, tausend Dank im Voraus !!!
Data Manager:
Main Frame
Und das Table Model
hab wieder mal ein (für euch kleines) Problem und zwar schaffe ich es nicht,die ausgelesenen Daten (Datenbank) in eine Tabelle zu schreiben. Kurzer Überblick: Klasse DataManager (schreibt und) ließt die Daten aus der DB, wobei das Auslesen über getMessreihen() erfolgen soll. Die Daten sollen in der Tabell mrTable landen,für welche es ein TableModel gibt (Klasse TableModelMR). Die Tabelle befindet sich in der Klasse MainFrame. So,das sollte es gewesen sein, tausend Dank im Voraus !!!
Data Manager:
Code:
public class DataManager {
private static DataManager instance;
o
o
o
public HashMap getMessreihen() throws SQLException {
HashMap messreihe = new HashMap();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM messreihe;");
while (rs.next()) {
int messreihe_pk = rs.getInt("id");
String name = rs.getString("name");
String sensor = rs.getString("sensor");
String messeinheit = rs.getString("messeinheit");
String von = rs.getString("von");
String bis = rs.getString("bis");
String interval = rs.getString("interval");
Integer i = new Integer(messreihe_pk);
messreihe.put(i,new Messreihen (i, name, sensor, messeinheit, von, bis, interval));
}
rs.close();
stmt.close();
return messreihe;
Code:
public class MainFrame extends JFrame {
DataManager dm = DataManager.getInstance();
TableModelMR tmMR = new TableModelMR();
JTable mrTable = new JTable(tmMR);
o
o
o
public void initMrTable() {
HashMap hm = null;
try {
hm = dm.getMessreihen();
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Fehler beim Laden der Messreihen!", "Laden", JOptionPane.ERROR_MESSAGE );
}
if (hm!=null) {
mrTable.removeAll();
Iterator i = hm.keySet().iterator();
while (i.hasNext()) {
Integer key = (Integer) i.next();
mrTable.add(hm.get(key)); //??????????
}
}
Code:
public class TableModelMR extends AbstractTableModel{
Vector messreihen = new Vector();
String headers[] = {"ID", "Name", "Sensor", "Messeinheit", "Von", "Bis", "Interval" };
Class columnClasses[] = {Integer.class, String.class, String.class, String.class, Integer.class, Integer.class
,Integer.class};
public TableModelMR() { }
public int getColumnCount() {
return 7;
}
public int getRowCount() {
return messreihen.size();
}
public String getColumnName(int col) {
return headers [col];
}
public Object getValueAt(int row, int col) {
Messreihen messreihe = (Messreihen)messreihen.get( row );
switch( col ){
case 0: return messreihe.getMessreihe_PK();
case 1: return messreihe.getName();
case 2: return messreihe.getSensor();
case 3: return messreihe.getMesseinheit();
case 4: return new Integer( messreihe.getVon() );
case 5: return new Integer( messreihe.getBis() );
case 6: return new Integer (messreihe.getInterval()) ;
default: return null;
}
}
public Class getColumnClass(int col) {
return columnClasses[col];
}
public boolean isCellEditable(int int0, int int1) {
return false;
}
public void setValueAt(Object object, int int1, int int2) {
}
public void addTableModelListener(TableModelListener tableModelListener) {
}
public void removeTableModelListener(TableModelListener tableModelListener) {
}
}