|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.table.AbstractTableModel
DeliverableView
public class DeliverableView
Luokka toimii JTable-komponentin tieto-oliona, jonka palveluita käyttäen JTable saa tarvitsemansa taulukon piirtämiseen ja sen tietojen muokkaamiseen.
Luokka toteuttaa tähän vaaditun TableModel-rajapinnan perimänsä AbstractTableModel-luokan kautta, joka tarjoaa monia valmiiksi toteutettuja ominaisuuksia jättäen toteutettavaksi vain välttämättömimmän.
DeliverableView-oliota käytetään JTable-komponentin tietosisällön mallina, kun halutaan näyttää ja käsitellä tuotavia tuotteita:
Luokan ilmentymä säilöö ja tarjoaa piirrettäväksi Hallintasovelluksen Tuotteet-välilehden Tuotavat-taulun sisällön.
DeliverableView asetetaan JTable-komponentille esimerkiksi konstruktorissa
DeliverableView-olion oma tietosisältö täytyy asettaa ja päivittää setDeliverables-metodilla.
Constructor Summary | |
---|---|
DeliverableView()
Konstruktori on tyhjä. |
Method Summary | |
---|---|
java.lang.Class<?> |
getColumnClass(int col)
JTable käyttää metodia selvittääkseen sarakkeen arvojen tyypin. |
int |
getColumnCount()
JTable käyttää tätä metodia selvittääkseen sarakkeiden määrän. |
java.lang.String |
getColumnName(int col)
JTable käyttää metodia sarakkeiden otsikoiden saamiseksi. |
Deliverable[] |
getDeliverables()
Metodi palauttaa listan tämän olion sisältämistä tuotavista. |
int |
getIntLastEditedRow()
|
int |
getRowCount()
JTable käyttää tätä metodia selvittääkseen rivien määrän. |
java.lang.Object |
getValueAt(int row,
int col)
JTable käyttää tätä metodia selvittääkseen solun arvon piirtämistä varten. |
boolean |
isCellEditable(int row,
int col)
JTable määrittää metodin avulla, onko tietyn solu arvo muokattavissa. |
void |
setDeliverables(Deliverable[] objDbs)
Metodilla asetetaan taulukon tietosisältö. |
void |
setIntLastEditedRow(int argIntLastEditedRow)
|
void |
setValueAt(java.lang.Object value,
int row,
int col)
JTable käyttää metodia, kun käyttäjä muokkaa jonkun solun arvoa. |
Methods inherited from class javax.swing.table.AbstractTableModel |
---|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DeliverableView()
Method Detail |
---|
public java.lang.Class<?> getColumnClass(int col)
JTable käyttää metodia selvittääkseen sarakkeen arvojen tyypin. Se tarvitsee tietoa määrittäessään editorin ja piirtäjän sarakkeen soluille.
Jos indeksi on virheellinen, palauttaa metodi Object.class
getColumnClass
in interface javax.swing.table.TableModel
getColumnClass
in class javax.swing.table.AbstractTableModel
col
- sarakkeen indeksi
public int getColumnCount()
JTable käyttää tätä metodia selvittääkseen sarakkeiden määrän.
Tuotavien tuotteiden taulukossa on kiinteä sarakemäärä 8.
public int getRowCount()
JTable käyttää tätä metodia selvittääkseen rivien määrän.
Tuotavien tuotteiden taulukossa jokainen tuote on omalla rivillään.
public java.lang.String getColumnName(int col)
JTable käyttää metodia sarakkeiden otsikoiden saamiseksi.
Metodi päättelee col-arvon perusteella palautettavan merkkijonon, jonka se hakee Utilities.getString(String) -metodin avulla:
getColumnName
in interface javax.swing.table.TableModel
getColumnName
in class javax.swing.table.AbstractTableModel
col
- sarakkeen indeksi
public boolean isCellEditable(int row, int col)
JTable määrittää metodin avulla, onko tietyn solu arvo muokattavissa.
Kun ollaan muokattavalla rivillä tai mitään riviä ei ole vielä aloitettu muokkaamaan, kaikki arvot ovat muokattavissa, paitsi tallennus -painike silloin, kun riviä ei ole muokattu.
Kun jotakin riviä on muokattu, muita rivejä ei voi muokata ennen kuin ensimmäinen on talletettu.
isCellEditable
in interface javax.swing.table.TableModel
isCellEditable
in class javax.swing.table.AbstractTableModel
row
- rivicol
- sarake
public java.lang.Object getValueAt(int row, int col)
row
- rivin indeksicol
- sarakkeen indeksi
java.lang.NullPointerException
- jos rivin indeksissä on null-viitepublic void setValueAt(java.lang.Object value, int row, int col)
JTable käyttää metodia, kun käyttäjä muokkaa jonkun solun arvoa.
Parametrit viittaavat indekseillään tiettyyn taulukon soluun. Value-parametrin arvo tulee joltakin JTable-komponentille rekisteröidyltä editorilta, jolla käyttäjä on muokannut solun arvoa.
setValueAt
in interface javax.swing.table.TableModel
setValueAt
in class javax.swing.table.AbstractTableModel
value
- editorin antama arvorow
- rivin indeksicol
- sarakkeen indeksipublic Deliverable[] getDeliverables()
public void setDeliverables(Deliverable[] objDbs)
Metodilla asetetaan taulukon tietosisältö.
JTablen tarvitsemat palvelut nojautuvat tällä metodilla asetetun taulukon sisältöön.
Metodia kutsutaan MainFrame-luokan RefreshTables()-metodista käsin. Metodi asettaa parametrina saamansa Deliverable-taulukon objDeliverables-kentän arvoksi. Tälle metodille voi syöttää suoraan Utilities.getDeliverables()-metodin paluuarvon. Null-arvo aiheuttaa poikkeuksen.
objDbs
- Utilities.getDeliverables()
java.lang.IllegalArgumentException
- jos parametri on nullpublic int getIntLastEditedRow()
public void setIntLastEditedRow(int argIntLastEditedRow)
argIntLastEditedRow
- the intLastEditedRow to set
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |