13 Jtables deren zellwerte voneinander abhaengen in jtabbed

Status
Nicht offen für weitere Antworten.
E

elmato

Gast
mist soviel zum thema aussagekraeftige titel, sorry hatte aber leider nicht genug platz :)
also ich habe folgendes problem und haette gerne einige denkansaetze von euch dazu den mein hirn scheint es nicht mehr zu machen,
ich habe ein Standalone anwendung ohne datenbank, in dieser anwendung befinden sich 13 tabellen die leider auch noch unterschiedlich aussehen also jede ein eigenes TableModel verwenden. es werden werte eingefuegt und ganze spalten berechnet, mein problem ist nun das einige zellen von anderen tabellen abhaengig sind die wiederrum von anderen tabellen abhaengig sind.
sagen wir mal tabelle1, spalte2, reihe 2 soll ihren wert von tabelle 3 spalte 4, reihe5 beziehen die wiederrum ihren wert von tabelle 13, spalte 23, reihe7 bezieht, welche wiederum erst nach ausfuellen der kompletten tabelle 13 berechnet wird.
ich habe versucht changeEvent methoden einzufuegen doch leider weiss ich nie von welcher tabelle der aufruf kommt, ist was ich machen will ueberhaupt moeglich?
eine andere ueberlegung war eine klasse zu schreiben mit etlichen statischen variablen auf die dann zugegriffen werden kann weiss ber auch nicht ob das funktonieren wuerde.
hat jeamand eine idee dazu, evt. ressourcen/links/docus? habe schon etliche tutorials durchgelsesn aber nichts gefunden was dem aehneln wuerde was ich vorhabe.
vielen dank im vorraus fuer alle vorschlage
schoene ostern aus sued afrika
elmato
 
G

Guest

Gast
elmato hat gesagt.:
... mein problem ist nun das einige zellen von anderen tabellen abhaengig sind die wiederrum von anderen tabellen abhaengig sind...
Beschreibe es etwas genauer. Ich habe nur abhängig verstanden ;)
 
E

elmato

Gast
im prinzip will ich etwas aehnliches machen was man normlaerweise in excel macht dort kannst du von einer tabelle werte aus einer anderen beziehen
wie ich versucht habe zu beschreiben, der wert einer zelle(tabelle1) sagen wir spalte 1 reihe 1 ergibt sich aus dem wert tabelle 3 spalte 2 reihe zwei.
dieser wert (tabelle 3 spalte 2 reihe zwei) wiederum berechnet sich aus reihe3-12 + (tabelle 14 spalte 3 reihe 3)
der wert (tabelle 14 spalte 3 reihe 3) wiederum berechnet sich aus tabelle14 spalte 4-65 usw.
ist das besser dargestellt sonst muss ich es aufmalen :autsch:
mein problem ist nun wie ich den einzelnen tabellen updaten kann so das wenn sich der wert in einer aendert die ganzen werte der anderen tabellen gesetzt werden..
verstanden?? lach
 
G

Guest

Gast
Du kannst die TableModel-Objekte gegenseitig als ChangeListener
registrieren.
Musst aber aufpassen, dass Du keine Endlosschleifen produzierst.
z.B. TabelleA-ZelleA hängt von TabelleB-ZelleB ab und umgekehrt.

Ich würde mir ein Model schreiben, dessen Inhalt Objekte sind, die auf
solche Events reagieren. Einer Art aktiver Inhalt. (ValueContent, FormulaContent etc.)
 
E

elmato

Gast
also in der art tabellenModel_1.addlistener(Tabellenmodel_3)
und tabellenmodel_3.adlistener(tabellenmodel_19);

kann ich auch wenn eine tabelle von zweien abhaengt zwe listener implementieren?
tabellenmodel_4.adlistener(tabellenmodel_5);
tabellenmodel_3.adlistener(tabellenmodel_6);

hab ich das ueberhaupt richtig verstanden??
vielen dank erstmal fuer die gegebee hilfe
mfg
elmato
 
G

Guest

Gast
Klar. Erstelle speziell ein Model dafür und ein ListenerModel. Die ursprünglichen
Events (z.B. TableModelEvent) bearbeitest Du intern innerhalb Deines Models selbst
und leitest sie als SpreadSheetModelEvent an die externen Listener weiter.
z.B.
Code:
SpreadSheetModel m1 = new SpreadSheetModel("tab1");
SpreadSheetModel m2 = new SpreadSheetModel("tab2");
SpreadSheetModel m3 = new SpreadSheetModel("tab3");

m1.addContentChangeListener(m2);
m1.addContentChangeListener(m3);
m2.addContentChangeListener(m1);
m2.addContentChangeListener(m3);
m3.addContentChangeListener(m1);
m3.addContentChangeListener(m2);
dann in den Listenern
Code:
public void contentChanged(SpreadSheetModelEvent e) {
  SpreadSheetModel m = (SpreadSheetModel)e.getSource();
  if(source == this)
    return;
  String sourceID = m.getID();
  // Die Content-Objekte benachrichtigen, die an Änderungen von dieser Quelle
  // interessiert sind. Diese müsten selbstverständlich zusätzlich verwaltet werden.
  updateContents(sourceID, e.getColumn(), e.getFirstRow());
}
Oder so ähnlich :roll:
 
E

elmato

Gast
vielen dank ich werde es ausprobieren und im notfall mich einfach wieder melden ;-)
nochmals danke
mfg
elmato
 

Sky

Top Contributor
Noch ein kleiner Tipp: Lies Dir mal das Observer-Pattern durch; für die Implementierung in Java kannst Du sogar Standard-JDK-Klassen verwenden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
F Zeile in mehreren Jtables bei Selektion markieren AWT, Swing, JavaFX & SWT 11
P Zwei JTables auf eine A4-Seite mit einstellbaren Rändern AWT, Swing, JavaFX & SWT 9
M Swing Inhalt meines JTables wird falsch dargestellt AWT, Swing, JavaFX & SWT 8
A befüllen eines JTables mittels Methode AWT, Swing, JavaFX & SWT 10
Helgon Zwei jTables gleich Breit AWT, Swing, JavaFX & SWT 4
S Swing Scrollpane und JTables AWT, Swing, JavaFX & SWT 6
D JTables, Test highlighten innerhalb einer Zelle AWT, Swing, JavaFX & SWT 5
T Zwei Jtables eine JscrollPane AWT, Swing, JavaFX & SWT 3
A Mehrere JTables in einem Fenster AWT, Swing, JavaFX & SWT 8
R Swing 2 jTables -2 Models - 1 Datenklasse: Änderungen AWT, Swing, JavaFX & SWT 11
K Swing Layout-Problem mit JTables und JLists (Mindestgrößen) AWT, Swing, JavaFX & SWT 11
Meldanor JTables - Zeilen hinzufügen/löschen AWT, Swing, JavaFX & SWT 4
S Übernehmen von Inhalten aus Zellen in JTables ohne Return AWT, Swing, JavaFX & SWT 7
C drei JTables, nur eine soll selektiert sein AWT, Swing, JavaFX & SWT 2
C MouseListener für Spalte eines JTables AWT, Swing, JavaFX & SWT 4
G Drag&Drop zwischen JTables AWT, Swing, JavaFX & SWT 2
I Drag and Drop zwischen zwei JTables AWT, Swing, JavaFX & SWT 5
V Grösse eines JTables ändern AWT, Swing, JavaFX & SWT 2
A mehrere jtables verwalten AWT, Swing, JavaFX & SWT 7
F JTables überschrift und Ordnung AWT, Swing, JavaFX & SWT 2
T Problem bei Update von JTables in JTabbedPane AWT, Swing, JavaFX & SWT 2
L Erste Spalte eines JTables soll nicht editierbar sein. AWT, Swing, JavaFX & SWT 7
J Daten in verschiedenen JTables AWT, Swing, JavaFX & SWT 5
K Objekt in eine bestimmte Zelle eines JTables legen AWT, Swing, JavaFX & SWT 3
G Jtables und die Tabellenbreite???? AWT, Swing, JavaFX & SWT 13
N Zwei JTables in einem Frame AWT, Swing, JavaFX & SWT 8
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
C Swing Anzeigeproblem mit TableModels abhängig von deren Inhalt AWT, Swing, JavaFX & SWT 10
B 2D-Grafik Dynamisches Erstellen von Images und deren Animation AWT, Swing, JavaFX & SWT 4
C SWT SWT Dialogfenster blitzen bei deren Aufruf AWT, Swing, JavaFX & SWT 2
T Problem mit der Programmierung von Fenster und deren Inhalte AWT, Swing, JavaFX & SWT 4
P User-Rechte fuer Frames ueberpruefen und deren Schliessung AWT, Swing, JavaFX & SWT 4
B Problem mit JLabels und deren Inhalt AWT, Swing, JavaFX & SWT 2
T Polygone und deren Löcher AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen


Oben