Avatar billede mholst Nybegynder
02. december 2002 - 15:36 Der er 2 kommentarer

Få data ud i GUI

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)
Avatar billede magoo20000 Nybegynder
02. december 2002 - 15:39 #1
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.
Avatar billede magoo20000 Nybegynder
02. december 2002 - 15:46 #2
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);
}
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester