Ei omia tunnuksia? Rekisteröidy tästä

Mene takaisin   MuroBBS - Plaza > Tietotekniikka > Ohjelmointi

Vastaa
 
Ketjutyökalut Hae ketjusta
Vanha 09.02.10, 16:44   #1 (linkki)
 
Rekisteröitynyt: 09/2003
Viestejä: 798
[Java] JTable ja vaihtuva sisältö

Ohjelmassa on JTable jonka näkymää käyttäjä voi vaihtaa. JTablen sisältö voi olla jompikumpi seuraavista:

Koodi:
Kuva Teksti
Kuva Teksti
...
tai

Koodi:
Teksti Teksti Teksti
Teksti Teksti Teksti
...
Eli sarakkeiden lukumäärä voi vaihtua ja sisällön tyyppi myös. Miten tuo olisi järkevin toteuttaa? Teen omat TableModelit kummallekin ja vaihdan modelia käyttäjän valinnan mukaan?
___________________________________
Se oli vitsi!
  Vastaa lainaten
Vanha 09.02.10, 17:20   #2 (linkki)
 
Rekisteröitynyt: 09/2007
Viestejä: 86
Itse ainakin olen tehnyt tuolla tavalla vaihdot ja en kyllä tiedä miten sen voisi muuten tehdä, kun data annetaan arrayna.
  Vastaa lainaten
Vanha 10.02.10, 12:09   #3 (linkki)
 
Rekisteröitynyt: 11/2001
Viestejä: 546
Toteutat oman TableModelin (perimällä javax.swing.table.AbstractTableModel) ja ilmoitat AbstractTableModel.fire* -metodeilla tietosisällön muutoksista.
___________________________________
Koneitteni speksit
  Vastaa lainaten
Vanha 10.02.10, 21:27   #4 (linkki)
 
Rekisteröitynyt: 09/2003
Viestejä: 798
Kiitoksia avusta. Eipä taida olla kauheana eroa noissa tavoissa? API:ssa oli näin:

Koodi:
fireTableStructureChanged()

...This is the same as calling setModel(TableModel) on the JTable.
___________________________________
Se oli vitsi!
  Vastaa lainaten
Vanha 11.02.10, 01:23   #5 (linkki)
 
Rekisteröitynyt: 11/2001
Viestejä: 546
Lainaus:
Alkuperäinen kirjoittaja Diph Näytä viesti
...This is the same as calling setModel(TableModel) on the JTable.
Niin näyttää lukevan. Ei se kyllä kutsu setModel:ia, mutta seuraus on ilmeisesti sama.

Koodisi kannalta ero on lähinnä siinä, että kumpi vaihtoehdoista kommunikoi koodin lukijalle parhaiten tarkoituksesi. Mikäli vaihtoehtoiset mallit ovat niin erilaisia, että ne kannattaa toteuttaa erillisinä luokkina, niin sitten setModel kommunikoi että nyt vaihdetaan malli kokonaan toiseksi. Jos taas mallit ovat samoja ja vain tietosisällössä on eroja (esim. lisätään uusi sarake), niin sitten fireTableStructureChanged kommunikoi että nyt mallin sisältö muuttui.
___________________________________
Koneitteni speksit
  Vastaa lainaten
Vastaa

Hae ketjusta:

Laajennettu haku

Hyppää alueelle:





Ajankohtaista Muropaketissa










UUSIMMAT IT-PAIKAT
KATSO KAIKKI IT-ALAN TYÖPAIKAT!