1 package sellwin.gui; 2 3 import sellwin.utils.*; 4 import sellwin.domain.*; 5 6 import java.awt.*; 7 import java.awt.event.*; 8 import java.util.*; 9 import javax.swing.*; 10 import javax.swing.event.*; 11 import javax.swing.table.*; 12 13 17 21 public class DateEditor extends DefaultCellEditor implements DateEditorDialogListener { 22 23 private DateRenderer renderer = new DateRenderer(); 24 private Date currentDate = null; 25 private JButton editorComponent=null; 26 private JTable table=null; 27 28 33 public DateEditor(JButton b, JTable table) { 34 super(new JCheckBox()); 35 this.table = table; 36 37 editorComponent = b; 38 setClickCountToStart(1); 39 40 b.addActionListener(new ActionListener() { 41 public void actionPerformed(ActionEvent e) { 42 fireEditingStopped(); 43 } 44 }); 45 } 46 47 51 public final Date getDate() { 52 return currentDate; 53 } 54 55 56 60 public final void setDate(Date d) { 61 currentDate = d; 62 ((JButton)editorComponent).setText(Prefs.dateFormat.format(currentDate)); 63 TableModel model = table.getModel(); 64 table.tableChanged(new TableModelEvent(model)); 65 fireEditingStopped(); 66 } 67 68 74 public final Component getTableCellEditorComponent( 75 JTable table, 76 Object value, 77 boolean isSelected, 78 int row, int col) { 79 80 if (value == null) value = new Date(); 81 Date dt = (Date)value; 82 83 ((JButton)editorComponent).setText(Prefs.dateFormat.format(dt)); 84 currentDate = (Date)value; 85 return editorComponent; 86 } 87 88 91 protected final void fireEditingStopped() { 92 super.fireEditingStopped(); 93 } 94 95 99 public final Object getCellEditorValue() { 100 return currentDate; 101 } 102 } 103 | Popular Tags |