2016-08-05 38 views
0

Sirs,Wie man einen Jtable kloniert

Kurz gesagt, meine Frage ist "Wie klonst du ein jTable in einer GUI in Netbeans entwickelt."

In ein wenig mehr Detail habe ich eine jTabbedPane, die aus zwei Registerkarten besteht - myTab1 und myTab2. Beide Registerkarten haben eine jTable, die Spalten aus einer Derby-Datenbank anzeigt. Jedes Mal, wenn die Daten in der Datenbank aktualisiert werden, möchte ich beide jTables aktualisieren, um die neuen Informationen widerzuspiegeln. Im Wesentlichen zeigen die zwei jTables identische Daten in jeder Zelle, und jedes Mal, wenn eine Änderung an einer vorgenommen wird, wird eine automatische Änderung an der anderen vorgenommen.

Offensichtlich könnte ich das langhandig machen. Jedes Mal, wenn eine Subroutine (die die Daten in der Datenbank ändert) ausgeführt wird, könnte ich eine UpdateMyTable1() und eine UpdateMyTable2() Routine haben, um die Änderungen vorzunehmen. In meinem Fall müsste die UpdateMyTable1() Funktion/Methode/Subroutine jedoch ziemlich lang sein, und UpdateMyTable1() würde aus fast identischem Code zu UpdateMyTable2() bestehen. Es würde viel redundanten Code geben.

In Neatbeans gibt es eine Möglichkeit, zwei jTables instanziieren (oder auf andere Weise erstellen) in einer Weise, dass sie immer den Inhalt des anderen spiegeln, ohne den Code aus der Hand schreiben?

Antwort

2

Die Lösung ist einfach: Denken Sie nicht über "Klonen" nach, sondern lassen Sie einfach beide JTables das Tabellenmodell teilen. Etwas so einfaches wie

table1.setModel(table2.getModel()); 

könnte funktionieren.

Wenn sie Modelle gemeinsam verwenden, werden Änderungen im Modell in beiden JTables gleichermaßen angezeigt.