Guten Tag lieber Forenuser,
da sich Netbeans beschwert, wenn ich einen Vector verwende, dachte ich mir: "Komm, ersetzt du die Vectoren eben mal schnell durch ArrayLists."
Ursprungscode:
Neuer Code:
report = new JTable(data, columnNames); zeigt mir allerdings nachfolgende Fehlermeldung an:
Gibt es eine Methode, mit der ich Java dazu bewegen kann, mir die beiden ArrayLists zu einer Tabelle zusammenzufügen?
Vielen Dank für eure Hilfe!
da sich Netbeans beschwert, wenn ich einen Vector verwende, dachte ich mir: "Komm, ersetzt du die Vectoren eben mal schnell durch ArrayLists."
Ursprungscode:
Java:
Vector columnNames = new Vector();
Vector data = new Vector();
try{
//Abfrage definieren
String query = "SELECT * FROM bmaterial WHERE Abteilung LIKE '%"+abt+"%' ;";
//Datenbankverbindung herstellen
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery(query);
ResultSetMetaData md = rst.getMetaData();
int columns = md.getColumnCount();
// Spaltennamen ermitteln
for (int i = 1; i <= columns; i++) {
String colname=md.getColumnName(i);
columnNames.addElement( colname );
}
// Zeileninhalt ermitteln
while (rst.next()) {
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++) {
row.addElement( rst.getObject(i) );
}
data.addElement( row );
}
rst.close();
stmt.close();
con.close();
} catch(Exception e) {
e.printStackTrace();
}
report = new JTable(data, columnNames);
scrollTabelle.setViewportView(report);
Neuer Code:
Java:
ArrayList columnNames = new ArrayList();
ArrayList data = new ArrayList();
try{
//Abfrage definieren
String query = "SELECT * FROM bmaterial WHERE Abteilung LIKE '%"+abt+"%' ;";
//Datenbankverbindung herstellen
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery(query);
ResultSetMetaData md = rst.getMetaData();
int columns = md.getColumnCount();
// Spaltennamen ermitteln
for (int i = 1; i <= columns; i++) {
String colname=md.getColumnName(i);
columnNames.add( colname );
}
// Zeileninhalt ermitteln
while (rst.next()) {
ArrayList row = new ArrayList(columns);
for (int i = 1; i <= columns; i++) {
row.add( rst.getObject(i) );
}
data.add( row );
}
rst.close();
stmt.close();
con.close();
} catch(Exception e) {
e.printStackTrace();
}
report = new JTable(data, columnNames);
scrollTabelle.setViewportView(report);
report = new JTable(data, columnNames); zeigt mir allerdings nachfolgende Fehlermeldung an:
Java:
no suitable constructor found for JTable(java.util.ArrayList,java.util.ArrayList)
constructor javax.swing.JTable.JTable(java.lang.Object[][],java.lang.Object[]) is not applicable
(actual argument java.util.ArrayList cannot be converted to java.lang.Object[][] by method invocation conversion)
constructor javax.swing.JTable.JTable(java.util.Vector,java.util.Vector) is not applicable
(actual argument java.util.ArrayList cannot be converted to java.util.Vector by method invocation conversion)
constructor javax.swing.JTable.JTable(int,int) is not applicable
(actual argument java.util.ArrayList cannot be converted to int by method invocation conversion)
constructor javax.swing.JTable.JTable(javax.swing.table.TableModel,javax.swing.table.TableColumnModel,javax.swing.ListSelectionModel) is not applicable
(actual and formal argument lists differ in length)
constructor javax.swing.JTable.JTable(javax.swing.table.TableModel,javax.swing.table.TableColumnModel) is not applicable
(actual argument java.util.ArrayList cannot be converted to javax.swing.table.TableModel by method invocation conversion)
constructor javax.swing.JTable.JTable(javax.swing.table.TableModel) is not applicable
(actual and formal argument lists differ in length)
constructor javax.swing.JTable.JTable() is not applicable
(actual and formal argument lists differ in length)
Gibt es eine Methode, mit der ich Java dazu bewegen kann, mir die beiden ArrayLists zu einer Tabelle zusammenzufügen?
Vielen Dank für eure Hilfe!