< prev index next >

src/java.desktop/share/classes/javax/swing/table/AbstractTableModel.java

Print this page

        

*** 30,44 **** import java.io.Serializable; import java.util.EventListener; /** * This abstract class provides default implementations for most of ! * the methods in the <code>TableModel</code> interface. It takes care of * the management of listeners and provides some conveniences for generating ! * <code>TableModelEvents</code> and dispatching them to the listeners. ! * To create a concrete <code>TableModel</code> as a subclass of ! * <code>AbstractTableModel</code> you need only provide implementations * for the following three methods: * * <pre> * public int getRowCount(); * public int getColumnCount(); --- 30,44 ---- import java.io.Serializable; import java.util.EventListener; /** * This abstract class provides default implementations for most of ! * the methods in the {@code TableModel} interface. It takes care of * the management of listeners and provides some conveniences for generating ! * {@code TableModelEvents} and dispatching them to the listeners. ! * To create a concrete {@code TableModel} as a subclass of ! * {@code AbstractTableModel} you need only provide implementations * for the following three methods: * * <pre> * public int getRowCount(); * public int getColumnCount();
*** 49,59 **** * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing. As of 1.4, support for long term storage * of all JavaBeans&trade; ! * has been added to the <code>java.beans</code> package. * Please see {@link java.beans.XMLEncoder}. * * @author Alan Chung * @author Philip Milne */ --- 49,59 ---- * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing. As of 1.4, support for long term storage * of all JavaBeans&trade; ! * has been added to the {@code java.beans} package. * Please see {@link java.beans.XMLEncoder}. * * @author Alan Chung * @author Philip Milne */
*** 71,85 **** // Default Implementation of the Interface // /** * Returns a default name for the column using spreadsheet conventions: ! * A, B, C, ... Z, AA, AB, etc. If <code>column</code> cannot be found, * returns an empty string. * * @param column the column being queried ! * @return a string containing the default name of <code>column</code> */ public String getColumnName(int column) { String result = ""; for (; column >= 0; column = column / 26 - 1) { result = (char)((char)(column%26)+'A') + result; --- 71,85 ---- // Default Implementation of the Interface // /** * Returns a default name for the column using spreadsheet conventions: ! * A, B, C, ... Z, AA, AB, etc. If {@code column} cannot be found, * returns an empty string. * * @param column the column being queried ! * @return a string containing the default name of {@code column} */ public String getColumnName(int column) { String result = ""; for (; column >= 0; column = column / 26 - 1) { result = (char)((char)(column%26)+'A') + result;
*** 89,103 **** /** * Returns a column given its name. * Implementation is naive so this should be overridden if * this method is to be called often. This method is not ! * in the <code>TableModel</code> interface and is not used by the ! * <code>JTable</code>. * * @param columnName string containing name of column to be located ! * @return the column with <code>columnName</code>, or -1 if not found */ public int findColumn(String columnName) { for (int i = 0; i < getColumnCount(); i++) { if (columnName.equals(getColumnName(i))) { return i; --- 89,103 ---- /** * Returns a column given its name. * Implementation is naive so this should be overridden if * this method is to be called often. This method is not ! * in the {@code TableModel} interface and is not used by the ! * {@code JTable}. * * @param columnName string containing name of column to be located ! * @return the column with {@code columnName}, or -1 if not found */ public int findColumn(String columnName) { for (int i = 0; i < getColumnCount(); i++) { if (columnName.equals(getColumnName(i))) { return i;
*** 105,115 **** } return -1; } /** ! * Returns <code>Object.class</code> regardless of <code>columnIndex</code>. * * @param columnIndex the column being queried * @return the Object.class */ public Class<?> getColumnClass(int columnIndex) { --- 105,115 ---- } return -1; } /** ! * Returns {@code Object.class} regardless of {@code columnIndex}. * * @param columnIndex the column being queried * @return the Object.class */ public Class<?> getColumnClass(int columnIndex) {
*** 165,175 **** /** * Returns an array of all the table model listeners * registered on this model. * ! * @return all of this model's <code>TableModelListener</code>s * or an empty * array if no table model listeners are currently registered * * @see #addTableModelListener * @see #removeTableModelListener --- 165,175 ---- /** * Returns an array of all the table model listeners * registered on this model. * ! * @return all of this model's {@code TableModelListener}s * or an empty * array if no table model listeners are currently registered * * @see #addTableModelListener * @see #removeTableModelListener
*** 185,195 **** // /** * Notifies all listeners that all cell values in the table's * rows may have changed. The number of rows may also have changed ! * and the <code>JTable</code> should redraw the * table from scratch. The structure of the table (as in the order of the * columns) is assumed to be the same. * * @see TableModelEvent * @see EventListenerList --- 185,195 ---- // /** * Notifies all listeners that all cell values in the table's * rows may have changed. The number of rows may also have changed ! * and the {@code JTable} should redraw the * table from scratch. The structure of the table (as in the order of the * columns) is assumed to be the same. * * @see TableModelEvent * @see EventListenerList
*** 201,227 **** /** * Notifies all listeners that the table's structure has changed. * The number of columns in the table, and the names and types of * the new columns may be different from the previous state. ! * If the <code>JTable</code> receives this event and its ! * <code>autoCreateColumnsFromModel</code> * flag is set it discards any table columns that it had and reallocates * default columns in the order they appear in the model. This is the ! * same as calling <code>setModel(TableModel)</code> on the ! * <code>JTable</code>. * * @see TableModelEvent * @see EventListenerList */ public void fireTableStructureChanged() { fireTableChanged(new TableModelEvent(this, TableModelEvent.HEADER_ROW)); } /** * Notifies all listeners that rows in the range ! * <code>[firstRow, lastRow]</code>, inclusive, have been inserted. * * @param firstRow the first row * @param lastRow the last row * * @see TableModelEvent --- 201,227 ---- /** * Notifies all listeners that the table's structure has changed. * The number of columns in the table, and the names and types of * the new columns may be different from the previous state. ! * If the {@code JTable} receives this event and its ! * {@code autoCreateColumnsFromModel} * flag is set it discards any table columns that it had and reallocates * default columns in the order they appear in the model. This is the ! * same as calling {@code setModel(TableModel)} on the ! * {@code JTable}. * * @see TableModelEvent * @see EventListenerList */ public void fireTableStructureChanged() { fireTableChanged(new TableModelEvent(this, TableModelEvent.HEADER_ROW)); } /** * Notifies all listeners that rows in the range ! * {@code [firstRow, lastRow]}, inclusive, have been inserted. * * @param firstRow the first row * @param lastRow the last row * * @see TableModelEvent
*** 233,243 **** TableModelEvent.ALL_COLUMNS, TableModelEvent.INSERT)); } /** * Notifies all listeners that rows in the range ! * <code>[firstRow, lastRow]</code>, inclusive, have been updated. * * @param firstRow the first row * @param lastRow the last row * * @see TableModelEvent --- 233,243 ---- TableModelEvent.ALL_COLUMNS, TableModelEvent.INSERT)); } /** * Notifies all listeners that rows in the range ! * {@code [firstRow, lastRow]}, inclusive, have been updated. * * @param firstRow the first row * @param lastRow the last row * * @see TableModelEvent
*** 248,258 **** TableModelEvent.ALL_COLUMNS, TableModelEvent.UPDATE)); } /** * Notifies all listeners that rows in the range ! * <code>[firstRow, lastRow]</code>, inclusive, have been deleted. * * @param firstRow the first row * @param lastRow the last row * * @see TableModelEvent --- 248,258 ---- TableModelEvent.ALL_COLUMNS, TableModelEvent.UPDATE)); } /** * Notifies all listeners that rows in the range ! * {@code [firstRow, lastRow]}, inclusive, have been deleted. * * @param firstRow the first row * @param lastRow the last row * * @see TableModelEvent
*** 263,273 **** TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE)); } /** * Notifies all listeners that the value of the cell at ! * <code>[row, column]</code> has been updated. * * @param row row of cell which has been updated * @param column column of cell which has been updated * @see TableModelEvent * @see EventListenerList --- 263,273 ---- TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE)); } /** * Notifies all listeners that the value of the cell at ! * {@code [row, column]} has been updated. * * @param row row of cell which has been updated * @param column column of cell which has been updated * @see TableModelEvent * @see EventListenerList
*** 276,286 **** fireTableChanged(new TableModelEvent(this, row, row, column)); } /** * Forwards the given notification event to all ! * <code>TableModelListeners</code> that registered * themselves as listeners for this table model. * * @param e the event to be forwarded * * @see #addTableModelListener --- 276,286 ---- fireTableChanged(new TableModelEvent(this, row, row, column)); } /** * Forwards the given notification event to all ! * {@code TableModelListeners} that registered * themselves as listeners for this table model. * * @param e the event to be forwarded * * @see #addTableModelListener
*** 300,321 **** } /** * Returns an array of all the objects currently registered * as <code><em>Foo</em>Listener</code>s ! * upon this <code>AbstractTableModel</code>. * <code><em>Foo</em>Listener</code>s are registered using the * <code>add<em>Foo</em>Listener</code> method. * * <p> * ! * You can specify the <code>listenerType</code> argument * with a class literal, * such as * <code><em>Foo</em>Listener.class</code>. * For example, you can query a ! * model <code>m</code> * for its table model listeners with the following code: * * <pre>TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));</pre> * * If no such listeners exist, this method returns an empty array. --- 300,321 ---- } /** * Returns an array of all the objects currently registered * as <code><em>Foo</em>Listener</code>s ! * upon this {@code AbstractTableModel}. * <code><em>Foo</em>Listener</code>s are registered using the * <code>add<em>Foo</em>Listener</code> method. * * <p> * ! * You can specify the {@code listenerType} argument * with a class literal, * such as * <code><em>Foo</em>Listener.class</code>. * For example, you can query a ! * model {@code m} * for its table model listeners with the following code: * * <pre>TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));</pre> * * If no such listeners exist, this method returns an empty array.
*** 324,336 **** * @param listenerType the type of listeners requested * @return an array of all objects registered as * <code><em>Foo</em>Listener</code>s on this component, * or an empty array if no such * listeners have been added ! * @exception ClassCastException if <code>listenerType</code> * doesn't specify a class or interface that implements ! * <code>java.util.EventListener</code> * * @see #getTableModelListeners * * @since 1.3 */ --- 324,336 ---- * @param listenerType the type of listeners requested * @return an array of all objects registered as * <code><em>Foo</em>Listener</code>s on this component, * or an empty array if no such * listeners have been added ! * @exception ClassCastException if {@code listenerType} * doesn't specify a class or interface that implements ! * {@code java.util.EventListener} * * @see #getTableModelListeners * * @since 1.3 */
< prev index next >