Class ButtonEditor

java.lang.Object
  extended by javax.swing.AbstractCellEditor
      extended by ButtonEditor
All Implemented Interfaces:
java.awt.event.ActionListener, java.io.Serializable, java.util.EventListener, javax.swing.CellEditor, javax.swing.table.TableCellEditor

public class ButtonEditor
extends javax.swing.AbstractCellEditor
implements javax.swing.table.TableCellEditor, java.awt.event.ActionListener

ButtonEditor on JTable olion "solun arvojen muokkaaja". Olio piirtää solun sinä aikana, kun arvoa muokataan. Lisäksi solu tarjoaa käyttäjälle tavan itse muokkauksen toteuttamiseen. Käytännössä solu piirretään kuten ButtonRendererkin tekee, ja arvojen muokkaus FingerPrintSet- ja SupplementSet-arvojen kohdalla tapahtuu niitä palauttavien dialogien avulla. ButtonEditor siis huolehtii solun piirtämisestä, kun dialogi on esillä. Dummy-arvojen editori ei anna käyttäjän editoida mitään, vaan palauttaa suoraan uuden Dummy-arvon. Käyttäjälle tämä näkyy normaalina painikkeen painamisena. JTablen näkökulmasta editori on painike, käyttäjän näkökulmasta dialogi, joka painikkeen painalluksesta aukeaa.

See Also:
Serialized Form

Constructor Summary
ButtonEditor(java.lang.Class objType, java.lang.String strText)
          Konstruktori alustaa luokan kentät ja asettaa luodulle painikkeelle kuuntelijaksi tämän luokan ilmentymän eli itsensä.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Metodi asettaa objValue-attribuutille uuden arvon, jonka se määrittää objEditorType-attribuutin avulla.
 java.lang.Object getCellEditorValue()
          Metodi toteuttaa yhden CellEditor-metodin, jota AbstractCellEditor ei toteuta.
 java.awt.Component getTableCellEditorComponent(javax.swing.JTable table, java.lang.Object objValue, boolean blnIsSelected, int intRow, int intColumn)
          Metodi totetuttaa TableCellEditorin määräämän metodin.
 java.lang.String getText()
          Metodilla haetaan painikkeen teksti
 void setText(java.lang.String strText)
          Metodilla asetetaan painikkeen teksti
 
Methods inherited from class javax.swing.AbstractCellEditor
addCellEditorListener, cancelCellEditing, getCellEditorListeners, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.CellEditor
addCellEditorListener, cancelCellEditing, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing
 

Constructor Detail

ButtonEditor

public ButtonEditor(java.lang.Class objType,
                    java.lang.String strText)
Konstruktori alustaa luokan kentät ja asettaa luodulle painikkeelle kuuntelijaksi tämän luokan ilmentymän eli itsensä. Parametreissa määrätään editorin tyyppi: - RegisterFingersDialog.class - SupplementDialog.class - Dummy.class ...ja painikkeen teksti

Parameters:
objType - editorin tyyppi
strText - painikkeen teksti
Method Detail

getText

public java.lang.String getText()
Metodilla haetaan painikkeen teksti


setText

public void setText(java.lang.String strText)
Metodilla asetetaan painikkeen teksti


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Metodi asettaa objValue-attribuutille uuden arvon, jonka se määrittää objEditorType-attribuutin avulla. Jos objEditorType == RegisterFingersDialog.class, saadaan arvo näyttämällä sormenjälkidialogi. Jos objEditorType == SupplementDialog.class, saadaan arvo näyttämällä lisukedialogi. Jos objEditorType == Dummy.class, arvoksi asetetaan new Dummy(false). Lopuksi on kutsuttava fireEditingStopped()-metodia, joka on peritty AbstractCellEditorilta. Näin ilmoitetaan muokkauksen päättyneen ja ButtonRenderer näyttäytyy jälleen.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

getCellEditorValue

public java.lang.Object getCellEditorValue()
Metodi toteuttaa yhden CellEditor-metodin, jota AbstractCellEditor ei toteuta. Metodi palauttaa objValue-attribuutin arvon.

Specified by:
getCellEditorValue in interface javax.swing.CellEditor
Returns:
this.objValue

getTableCellEditorComponent

public java.awt.Component getTableCellEditorComponent(javax.swing.JTable table,
                                                      java.lang.Object objValue,
                                                      boolean blnIsSelected,
                                                      int intRow,
                                                      int intColumn)
Metodi totetuttaa TableCellEditorin määräämän metodin. Metodi päivittää painikkeen btnButton tekstin ja tilan ennen kuin palauttaa sen. Teksti saadaan kentästä strText, paitsi RegisterFingersDialogin kohdalla, jossa asetetaan arvossa olevien sormenjälkien lukumäärä. Lisäksi metodi kutsuu painikkeen setEnabled(boolean)-metodia parametrilla MainFrame.readerEnabled tai parametrina saadun Dummyn sisältämän boolean-arvon. Tämä sen mukaan, onko objEditorType-kentän arvo RegisterFingersDialog.class tai parametrina saatu olio Dummy. Näin saadaan harmaannutettua painike, jos sormenjälkitunnistin ei ole kytketty tai riviä ei ole muokattu (Dummy-arvo).

Specified by:
getTableCellEditorComponent in interface javax.swing.table.TableCellEditor
Parameters:
table - taulukko, jossa ollaan
objValue - uusi arvo
blnIsSelected - onko solu valittuna
intRow - rivi
intColumn - sarake
Returns:
JButton editoripainike