1 /* 2 * TableColumnModelEx.java 3 * 4 * Created on January 14, 2005, 12:43 PM 5 */ 6 7 package org.jdesktop.swing.table; 8 9 import java.util.List; 10 import java.util.Set; 11 import javax.swing.table.TableColumnModel; 12 13 /** 14 * An extension to the TableColumnModel that adds logic dealing with the 15 * "visibilty" property of the TableColumnExt. If a column is made invisible, 16 * then the ColumnModel must not return that column in subsequent calls to 17 * <code>getColumnXXX</code>. In other words, it is "silently" removed from 18 * the column model until it is again made visible. However, a change in the 19 * visibility status of a column will trigger an event so that the underlying 20 * JTable can repaint/relayout itself. 21 * 22 * The semantics behind removing a column and making it invisible are two 23 * different things. When a column is removed, it is no longer associated 24 * with the model in any way, whereas an invisible column is simply not 25 * displayed. This is somewhat similar to the idea of column ordering being 26 * different in the model from the view. 27 * 28 * @author Richard Bair 29 */ 30 public interface TableColumnModelExt extends TableColumnModel { 31 /** 32 * Returns a list containing all of the columns that are invisible. If 33 * no columns in this model are invisible, then this will be an empty 34 * list. 35 */ 36 public Set getInvisibleColumns(); 37 /** 38 * Returns all of the columns in the TableColumnModel, including invisible 39 * ones. 40 */ 41 public List getAllColumns(); 42 } 43