E
elmato
Gast
hi,
gestern habe ih diese antwort auf mein jtable problem bekommen
siehe http://www.java-forum.org/de/viewtopic.php?t=15785
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.
dann in den Listenern
leider habe ich das nicht so ganz verstanden
das bedeutet ich muss in meiner Modelklasse eine methode namens
addContentChangeListener(TableModel m){} einfuegen damit ich diesen listener regisrieren kann
was ist damit gemeint
" 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."
das verstehe ich leder ueberhaupt nicht wie kann ich ein "SpreadSheetModelEvent" erzeugen und weiterleiten?
gestern habe ih diese antwort auf mein jtable problem bekommen
siehe http://www.java-forum.org/de/viewtopic.php?t=15785
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.
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(m == 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());
}
leider habe ich das nicht so ganz verstanden
das bedeutet ich muss in meiner Modelklasse eine methode namens
addContentChangeListener(TableModel m){} einfuegen damit ich diesen listener regisrieren kann
was ist damit gemeint
" 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."
das verstehe ich leder ueberhaupt nicht wie kann ich ein "SpreadSheetModelEvent" erzeugen und weiterleiten?