Project: Calendar-Application
/*
 *  DemoTable.java  - A table to demo JDateChooser cell editors. 
 *  Copyright (C) 2006 Kai Toedter 
 *  www.toedter.com 
 * 
 *  This program is free software; you can redistribute it and/or 
 *  modify it under the terms of the GNU Lesser General Public License 
 *  as published by the Free Software Foundation; either version 2 
 *  of the License, or (at your option) any later version. 
 * 
 *  This program is distributed in the hope that it will be useful, 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 *  GNU Lesser General Public License for more details. 
 * 
 *  You should have received a copy of the GNU Lesser General Public License 
 *  along with this program; if not, write to the Free Software 
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
 */
 
package com.toedter.calendar.demo; 
 
import java.awt.Dimension; 
import java.awt.GridLayout; 
import java.util.Date; 
 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 
import javax.swing.table.AbstractTableModel; 
 
import com.toedter.calendar.JDateChooserCellEditor; 
 
/**
 * A demonstration table with JDateChooserCellEditors. 
 *  
 * @author Kai Toedter 
 * @version $LastChangedRevision: 119 $ 
 * @version $LastChangedDate: 2009-05-04 17:47:56 +0200 (Mo, 04 Mai 2009) $ 
 */
 
public class DemoTable extends JPanel { 
 private static final long serialVersionUID = -2823838920746867592L
 
 public DemoTable() { 
  super(new GridLayout(10)); 
 
  setName("DemoTable"); 
 
  JTable table = new JTable(new DemoTableModel()); 
  table.setPreferredScrollableViewportSize(new Dimension(18032)); 
  table.setDefaultEditor(Date.classnew JDateChooserCellEditor()); 
 
  // Create the scroll pane and add the table to it. 
  JScrollPane scrollPane = new JScrollPane(table); 
 
  // Add the scroll pane to this panel. 
  add(scrollPane); 
 
 
 class DemoTableModel extends AbstractTableModel { 
  private static final long serialVersionUID = 3283465559187131559L
 
  private final String[] columnNames = { "Empty Date""Date set" }; 
 
  private final Object[][] data = { { nullnew Date() }, 
    nullnew Date() } }; 
 
  public int getColumnCount() { 
   return columnNames.length; 
  
 
  public int getRowCount() { 
   return data.length; 
  
 
  public String getColumnName(int col) { 
   return columnNames[col]; 
  
 
  public Object getValueAt(int row, int col) { 
   return data[row][col]; 
  
 
  /*
   * JTable uses this method to determine the default renderer/ editor for 
   * each cell. If we didn't implement this method, then the last column 
   * would contain text ("true"/"false"), rather than a check box. 
   */
 
  public Class getColumnClass(int c) { 
   return getValueAt(01).getClass(); 
  
 
  /*
   * Don't need to implement this method unless your table's editable. 
   */
 
  public boolean isCellEditable(int row, int col) { 
   return true
  
 
  /*
   * Don't need to implement this method unless your table's data can 
   * change. 
   */
 
  public void setValueAt(Object value, int row, int col) { 
   data[row][col] = value; 
   fireTableCellUpdated(row, col); 
  
 
}