Java: Datenbank-Tabelle -> JTable?

  1. st3-f

    st3-f Thread StarterMacUser Mitglied

    Mitglied seit:
    22.12.2006
    Beiträge:
    61
    Zustimmungen:
    0
    Hallo an alle!

    Meine letzte Frage war, wie ich eine Datenbankverbindung am besten herstelle, das ist mir dank eurer Hilfe gelungen, nun habe ich das nächste Problem, ich glaube ich bin einfach zu doof dafür, da ich schon ein paar Tage daran rummache!

    Also, ich hab die Datenbank und frage Daten ab - alles kein Problem. Nun möchte ich die Daten in einer JTable ausgeben. Erst habe ich es so gemacht, dass ich eine JTable mit leeren Strings gefüllt habe und dann nachträglich die Daten mit

    Code:
    table.setValueAt()
    eingefügt, das ging auch. Aber wirklich sinnvoll ist es ja nicht, da ich ja sonst immer eine Menge leerer Tabelenzellen habe am Anfang und die Tabelle nicht dynamisch gefüllt wird. Nun habe ich schon Google gequält und einige Sachen gefunden/gelesen, die mir aber nicht wirklich weiterhelfen, da ich das einfach nicht kapiere.

    1. Ein eigenes TableModel - hab ich gemacht, die Tabelle wird automatisch erzeugt mit der richtigen Anzahl an Zeilen/Spalten, aber mit setValueAt stehen keine Einträge drin.

    2. Ich habe etwas gefunden, das da heisst QueryTableModel, um dieses zu benutzen müsste ich wohl einen Großteil des Programms umschreiben, wenn es nicht anders geht werde ich das auch machen, aber mir wäre es anders natürlich lieber.

    Hat von euch schon jemand Erfahrung damit gemacht und kann mir einen Tipp geben? Bin über jede Hilfe dankbar, auch Links zu Tutorials oder dergleichen, wo ich es selbst nachlesen kann würden mich erfreuen.

    In diesem Sinne, Grüsse aus London

    st3-f
     
    st3-f, 30.03.2007
  2. cynic

    cynicMacUser Mitglied

    Mitglied seit:
    15.08.2006
    Beiträge:
    1.452
    Zustimmungen:
    45
    Eine einfache Möglichkeit ist es das Model über die Methode setDataVector zu füllen... Beispiel: (Angenommen deine Tabelle heißt jTable1)

    javax.swing.table.DefaultTableModel dtm = (javax.swing.table.DefaultTableModel)jTable1.getModel();
    dtm.setDataVector(vector1, vector2);

    Am besten liest du dir mal die API beschreibung zu der Methode durch, dann solltest du schon eine gute Idee haben, wie du das machst und was die 2 Vectoren enthalten müssen. ;)
     
    cynic, 30.03.2007
  3. howx

    howxunregistriert

    Mitglied seit:
    03.03.2006
    Beiträge:
    588
    Zustimmungen:
    36
    Poste bitte mal wie setValueAt() bei deinem eigenen Tablemodel aussieht. Hast du firetablerowsupdated ausgeführt?

    Edit: aja, du darfst beim eigenen Tablemodel nicht table.setValueAt() machen, sondern du musst table.getModel().setValueAt(...) machen.
     
    howx, 02.04.2007
  4. st3-f

    st3-f Thread StarterMacUser Mitglied

    Mitglied seit:
    22.12.2006
    Beiträge:
    61
    Zustimmungen:
    0
    Hm ... das werde ich zu Hause gleich mal versuchen - hab das Programm leider nicht dabei und zu Hause kein Internet, vielen Dank schonmal fuer den Tipp!!!


    Auch Danke fuer diesen Tipp, werde ich mir auch mal anschauen, hoert sich interessant an! Ich melde mich morgen wieder, ob / und / oder was funktioniert hat! ;-)

    Gruesse aus London
    st3-f
     
    st3-f, 02.04.2007
  5. st3-f

    st3-f Thread StarterMacUser Mitglied

    Mitglied seit:
    22.12.2006
    Beiträge:
    61
    Zustimmungen:
    0
    So, da bin ich mal wieder. Ich hab mich gestern nochmals mit dem Thema beschafft und habe nun eine Lösung mit einem eigenen TableResultsModel. Das heisst:
    Auf Basis des ResultSets der Datenbank-Abfrage wird das TabellenModel erzeugt und die Tabelle wird angezeigt. Ging eigentlich relativ einfach ... so im Nachhinein, hab es in einem Buch gefunden und etwas angepasst.

    Vielen Dank dennoch für die Tipps. Das mit table.getModel().setValueAt(..) hat bei mir leider nicht funktioniert, warum auch immer, aber jetzt geht es ja.

    Danke und Grüsse

    st3-f
     
    st3-f, 03.04.2007
  6. cynic

    cynicMacUser Mitglied

    Mitglied seit:
    15.08.2006
    Beiträge:
    1.452
    Zustimmungen:
    45
    Super, dass du dir eine Lösung erarbeitet hast, noch weiterhin viel Spaß! :)
     
    cynic, 03.04.2007
  7. st3-f

    st3-f Thread StarterMacUser Mitglied

    Mitglied seit:
    22.12.2006
    Beiträge:
    61
    Zustimmungen:
    0
    Thx. Freue mich auch über eine "eigene" Lösung. Da macht es doch gleich viel mehr Spass weiterzumachen! :) Bin auch richtig stolz auf mich!

    st3-f
     
    st3-f, 04.04.2007
Die Seite wird geladen...
Ähnliche Themen - Java Datenbank Tabelle
  1. anotheryou
    Antworten:
    1
    Aufrufe:
    143
    Apfeleis
    24.06.2017
  2. kurtmac
    Antworten:
    4
    Aufrufe:
    331
    kurtmac
    15.11.2016
  3. msdd79
    Antworten:
    5
    Aufrufe:
    663
  4. LuQasZ
    Antworten:
    15
    Aufrufe:
    1.226
  5. st3-f
    Antworten:
    25
    Aufrufe:
    2.023