Package com.toedter.calendar.demo

Source Code of com.toedter.calendar.demo.DemoTable$DemoTableModel

/*
*  DemoTable.java  - A table to demo JDateChooser cell editors.
*  Copyright (C) 2006 Kai Toedter
*  kai@toedter.com
*  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(1, 0));

    setName("DemoTable");

    JTable table = new JTable(new DemoTableModel());
    table.setPreferredScrollableViewportSize(new Dimension(180, 32));
    table.setDefaultEditor(Date.class, new 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 = { { null, new Date() },
        { null, new 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(0, 1).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);
    }
  }
}
TOP

Related Classes of com.toedter.calendar.demo.DemoTable$DemoTableModel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.