Vi har nu oprettet en SQL database, hvor vi kan søge. Vi vil nu gerne have de resultat som vi på nuværende tidspunkt kan se i consollen (ved hjælp af System.out.println), op på nogle knapper i vores GUI (det er et navn og en afdeling). Ved tryk på en af disse knapper, vil vi gerne få resten af rækken i søgeresultatet ud i en GUI (en profil)
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
I kan benytte en JTable til at indholde resultaterne fra jeres søgning. Sæt en eventhandler på knappen i GUI'en og ved tryk på den skal JTablen fyldes op. Jeg ser lige efter noget kode.
Du skal bruge tabellens TableModel. getModel-metoden returnerer en DefaultTableModel (medmindre du eksplicit har fortalt din tabel at den skal bruge en anden model som du selv har lavet).
DefaultTabelModel har metoderne addColumn() og addRow(), som du kan bruge til at tilføje noget til tabellen. Metoden setDataVector() kan du benytte, hvis du vil slette alt det eksisterende i tabellen og indsætte noget nyt.
Her udskiftes en tabels datamodel med indholdet af et ResultSet (forudsætter at resultatsættet indeholder strenge!).
public static void insertIntoTable(JTable table, ResultSet rset) throws SQLException { DefaultTableModel model = (DefaultTableModel)table.getModel();
// Identificer kolonnenavne ResultSetMetaData metadata = rset.getMetaData(); int columns = metadata.getColumnCount(); Vector columnNames = new Vector(); for(int i = 0; i < columns; ++i) columnNames.add(metadata.getColumnLabel(i + 1));
// Identificer rækker (forudsætter at indholdet er tekster) Vector dataRows = new Vector(); while (rset.next()) { Vector rowData = new Vector(columns); for(int i = 0; i < columns; ++i) rowData.add(rset.getString(i + 1)); dataRows.add(rowData); }
// Indsæt kolonnenavne og rækker model.setDataVector(dataRows, columnNames); }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.