All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.modules.java.desktop.classes.javax.swing.table.TableModel Maven / Gradle / Ivy

There is a newer version: 2024-05-10
Show newest version
/*
 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code 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 General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javax.swing.table;

import javax.swing.*;
import javax.swing.event.*;

/**
 *  The TableModel interface specifies the methods the
 *  JTable will use to interrogate a tabular data model. 

* * The JTable can be set up to display any data * model which implements the * TableModel interface with a couple of lines of code: *

 *      TableModel myData = new MyTableModel();
 *      JTable table = new JTable(myData);
 *  

* * For further documentation, see Creating a Table Model * in The Java Tutorial. * * @author Philip Milne * @see JTable */ public interface TableModel { /** * Returns the number of rows in the model. A * JTable uses this method to determine how many rows it * should display. This method should be quick, as it * is called frequently during rendering. * * @return the number of rows in the model * @see #getColumnCount */ public int getRowCount(); /** * Returns the number of columns in the model. A * JTable uses this method to determine how many columns it * should create and display by default. * * @return the number of columns in the model * @see #getRowCount */ public int getColumnCount(); /** * Returns the name of the column at columnIndex. This is used * to initialize the table's column header name. Note: this name does * not need to be unique; two columns in a table can have the same name. * * @param columnIndex the index of the column * @return the name of the column */ public String getColumnName(int columnIndex); /** * Returns the most specific superclass for all the cell values * in the column. This is used by the JTable to set up a * default renderer and editor for the column. * * @param columnIndex the index of the column * @return the common ancestor class of the object values in the model. */ public Class getColumnClass(int columnIndex); /** * Returns true if the cell at rowIndex and * columnIndex * is editable. Otherwise, setValueAt on the cell will not * change the value of that cell. * * @param rowIndex the row whose value to be queried * @param columnIndex the column whose value to be queried * @return true if the cell is editable * @see #setValueAt */ public boolean isCellEditable(int rowIndex, int columnIndex); /** * Returns the value for the cell at columnIndex and * rowIndex. * * @param rowIndex the row whose value is to be queried * @param columnIndex the column whose value is to be queried * @return the value Object at the specified cell */ public Object getValueAt(int rowIndex, int columnIndex); /** * Sets the value in the cell at columnIndex and * rowIndex to aValue. * * @param aValue the new value * @param rowIndex the row whose value is to be changed * @param columnIndex the column whose value is to be changed * @see #getValueAt * @see #isCellEditable */ public void setValueAt(Object aValue, int rowIndex, int columnIndex); /** * Adds a listener to the list that is notified each time a change * to the data model occurs. * * @param l the TableModelListener */ public void addTableModelListener(TableModelListener l); /** * Removes a listener from the list that is notified each time a * change to the data model occurs. * * @param l the TableModelListener */ public void removeTableModelListener(TableModelListener l); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy