Editing and Refreshing
Tietojen muokkaaminen Table-komponentissa tapahtuu vuorovaikutuksessa Repositoryn kanssa, joka sisältää Table:n tiedot. Repository toimii silta Table:n ja taustalla olevan tietojoukon välillä, tarjoten menetelmiä tietojen hakemiseen, muokkaamiseen ja päivittämiseen. Alla on esimerkki, joka toteuttaa käyttäytymisen muokatakseen halutun rivin "Otsikon".
Näytä koodi
- TableEditDataView.java
- TitleEditorComponent.java
Yllä olevassa esimerkissä TitleEditorComponent-luokka helpottaa "Otsikko" kentän muokkaamista valitulle MusicRecord:lle. Komponentissa on syöttökenttä uudelle otsikolle sekä "Tallenna" ja "Peruuta" painikkeet.
Yhdistääksemme muokkauskomponentin Table:en, "Muokkaa" painike lisätään Table:n kautta VoidElementRendererin avulla. Tämän painikkeen klikkaaminen aktivoi TitleEditorComponent:n edit()-metodin, jolloin käyttäjät voivat muokata "Otsikko" arvoa.
Commit-menetelmä
Kun käyttäjä muokkaa otsikkoa ja napsauttaa "Tallenna" painiketta, TitleEditorComponent aktivoi save()-metodin. Tämä metodi päivittää vastaavan MusicRecord:n otsikon ja lähettää mukautetun SaveEvent:in.
Reaaliaikainen tietojen päivitys repositoriossa saavutetaan commit()-menetelmällä. Tätä menetelmää käytetään onSave-tapahtuman kuuntelijassa, varmistaen että muokkauskomponentin kautta tehdyt muutokset heijastuvat taustalla olevaan tietojoukkoon.
commit()-metodia kutsutaan ilmoittamaan kaikille kiinnostuneille komponenteille, että tiedot ovat muuttuneet. Table nappaa RepositoryCommitEvent:in ja päivittää tietojen perusteella uuden tiedon.
commit()-metodin kutsuminen sekä päivittää olemassa olevia entryjä että lisää kaikki uudet entryt, jotka on luotu.