- java.lang.Object
-
- javax.swing.table.DefaultTableColumnModel
-
- 实现的所有接口
-
PropertyChangeListener,Serializable,EventListener,ListSelectionListener,TableColumnModel
public class DefaultTableColumnModel extends Object implements TableColumnModel, PropertyChangeListener, ListSelectionListener, Serializable
JTable的标准列处理程序。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 另请参见:
-
JTable, Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 protected ChangeEventchangeEvent变更事件(只需要一个)protected intcolumnMargin每列之间的宽度边距protected booleancolumnSelectionAllowed此列模型中允许列选择protected EventListenerListlistenerListTableColumnModelListener列表protected ListSelectionModelselectionModel用于跟踪列选择的模型protected Vector<TableColumn>tableColumns此模型中的TableColumn对象数组protected inttotalColumnWidth所有列的组合宽度的本地缓存
-
构造方法摘要
构造方法 构造器 描述 DefaultTableColumnModel()创建默认表列模型。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidaddColumn(TableColumn aColumn)将aColumn追加到tableColumns数组的末尾。voidaddColumnModelListener(TableColumnModelListener x)为表列模型事件添加侦听器。protected ListSelectionModelcreateSelectionModel()创建新的默认列表选择模型。protected voidfireColumnAdded(TableColumnModelEvent e)通知所有已注册对此事件类型的通知感兴趣的听众。protected voidfireColumnMarginChanged()通知所有已注册对此事件类型的通知感兴趣的听众。protected voidfireColumnMoved(TableColumnModelEvent e)通知所有已注册对此事件类型的通知感兴趣的听众。protected voidfireColumnRemoved(TableColumnModelEvent e)通知所有已注册对此事件类型的通知感兴趣的听众。protected voidfireColumnSelectionChanged(ListSelectionEvent e)通知所有已注册对此事件类型的通知感兴趣的听众。TableColumngetColumn(int columnIndex)返回列的TableColumn对象columnIndex。intgetColumnCount()返回tableColumns数组中的列数。intgetColumnIndex(Object identifier)返回tableColumns数组中第一列的索引,其标识符等于identifier,使用equals进行比较时。intgetColumnIndexAtX(int x)返回位于位置x的列的索引,如果没有列覆盖此点,则返回-1。intgetColumnMargin()返回TableColumn的宽度边距。TableColumnModelListener[]getColumnModelListeners()返回在此模型上注册的所有列模型侦听器的数组。Enumeration<TableColumn>getColumns()返回Enumeration中所有列的Enumeration。booleangetColumnSelectionAllowed()如果允许列选择,则返回true,否则返回false。<T extends EventListener>
T[]getListeners(类<T> listenerType)返回此模型上当前注册为FooListener的所有对象的数组。intgetSelectedColumnCount()返回选定的列数。int[]getSelectedColumns()返回所选列的数组。ListSelectionModelgetSelectionModel()返回用于维护列选择状态的ListSelectionModel。intgetTotalColumnWidth()返回所有列的总组合宽度。voidmoveColumn(int columnIndex, int newIndex)将列和标题移动到columnIndex到newIndex。voidpropertyChange(PropertyChangeEvent evt)属性更改侦听器更改方法。protected voidrecalcWidthCache()重新计算所有列的总组合宽度。voidremoveColumn(TableColumn column)删除column从tableColumns阵列。voidremoveColumnModelListener(TableColumnModelListener x)删除表列模型事件的侦听器。voidsetColumnMargin(int newMargin)将列边距设置为newMargin。voidsetColumnSelectionAllowed(boolean flag)设置是否允许列选择。voidsetSelectionModel(ListSelectionModel newModel)设置此选择模型TableColumnModel至newModel,并注册了来自新选择模型的通知。voidvalueChanged(ListSelectionEvent e)ListSelectionListener,当列选择更改时转发ListSelectionEvents。
-
-
-
字段详细信息
-
tableColumns
protected Vector<TableColumn> tableColumns
此模型中的TableColumn对象数组
-
selectionModel
protected ListSelectionModel selectionModel
用于跟踪列选择的模型
-
columnMargin
protected int columnMargin
每列之间的宽度边距
-
listenerList
protected EventListenerList listenerList
TableColumnModelListener列表
-
changeEvent
protected transient ChangeEvent changeEvent
变更事件(只需要一个)
-
columnSelectionAllowed
protected boolean columnSelectionAllowed
此列模型中允许列选择
-
totalColumnWidth
protected int totalColumnWidth
所有列的组合宽度的本地缓存
-
-
方法详细信息
-
addColumn
public void addColumn(TableColumn aColumn)
将aColumn追加到tableColumns数组的末尾。 此方法还将columnAdded事件发布到其侦听器。- Specified by:
-
addColumn在界面TableColumnModel - 参数
-
aColumn- 要添加的TableColumn - 异常
-
IllegalArgumentException- 如果aColumn是null - 另请参见:
-
removeColumn(javax.swing.table.TableColumn)
-
removeColumn
public void removeColumn(TableColumn column)
删除column从tableColumns阵列。 如果column不在表的列列表中,则此方法将不执行任何操作。tile来调整标题和表视图的大小。 此方法还将columnRemoved事件发布到其侦听器。- Specified by:
-
removeColumn在界面TableColumnModel - 参数
-
column- 要删除的TableColumn - 另请参见:
-
addColumn(javax.swing.table.TableColumn)
-
moveColumn
public void moveColumn(int columnIndex, int newIndex)将列和标题移动到columnIndex到newIndex。 旧栏目columnIndex现在位于newIndex。 以前位于newIndex的列向左或向右移动以腾出空间。 如果columnIndex等于newIndex则不会移动任何列。 此方法还将columnMoved事件发布到其侦听器。- Specified by:
-
moveColumn在界面TableColumnModel - 参数
-
columnIndex- 要移动的列的索引 -
newIndex- 移动列的新索引 - 异常
-
IllegalArgumentException- 如果column或newIndex不在有效范围内
-
setColumnMargin
public void setColumnMargin(int newMargin)
将列边距设置为newMargin。 此方法还将columnMarginChanged事件发布到其侦听器。- Specified by:
-
setColumnMargin在界面TableColumnModel - 参数
-
newMargin- 新的边距宽度(以像素为单位) - 另请参见:
-
getColumnMargin(),getTotalColumnWidth()
-
getColumnCount
public int getColumnCount()
返回tableColumns数组中的列数。- Specified by:
-
getColumnCount,界面TableColumnModel - 结果
-
tableColumns数组中的列数 - 另请参见:
-
getColumns()
-
getColumns
public Enumeration<TableColumn> getColumns()
返回Enumeration中所有列的Enumeration。- Specified by:
-
getColumns,界面TableColumnModel - 结果
-
模型中的
Enumeration列
-
getColumnIndex
public int getColumnIndex(Object identifier)
返回tableColumns数组中第一列的索引,其标识符等于identifier,使用equals进行比较时。- Specified by:
-
getColumnIndex在界面TableColumnModel - 参数
-
identifier- 标识符对象 - 结果
-
tableColumns数组中第一列的索引,其标识符等于identifier - 异常
-
IllegalArgumentException- 如果identifier是null,或者没有TableColumn这个identifier - 另请参见:
-
getColumn(int)
-
getColumn
public TableColumn getColumn(int columnIndex)
返回列的TableColumn对象columnIndex。- Specified by:
-
getColumn在界面TableColumnModel - 参数
-
columnIndex- 所需列的索引 - 结果
-
该列的
TableColumn对象为columnIndex
-
getColumnMargin
public int getColumnMargin()
返回TableColumn的宽度边距。 默认值columnMargin为1。- Specified by:
-
getColumnMargin在界面TableColumnModel - 结果
-
TableColumn的最大宽度 - 另请参见:
-
setColumnMargin(int)
-
getColumnIndexAtX
public int getColumnIndexAtX(int x)
返回位于位置x的列的索引,如果没有列覆盖此点,则返回-1。 为了与Swing的可分离模型架构保持一致,TableColumnModel不知道表列实际出现在屏幕上的方式。 列的可视化表示是使用此模型(通常是JTable)的视图/控制器对象的责任。 视图/控制器不需要从左到右依次显示列。 例如,可以从右到左显示列以适应区域设置首选项,或者可以根据用户的请求隐藏某些列。 由于模型不知道列在屏幕上的布局方式,因此不应将给定的xPosition视为2D图形空间中的坐标。 相反,它应该被认为是模型中第一列开头的宽度。 如果需要2D空间中给定X坐标的列索引,JTable.columnAtPoint可以使用JTable.columnAtPoint。- Specified by:
-
getColumnIndexAtX在界面TableColumnModel - 参数
-
x- 感兴趣的水平位置 - 结果
- 列的索引或-1,如果没有找到列
- 另请参见:
-
JTable.columnAtPoint(java.awt.Point)
-
getTotalColumnWidth
public int getTotalColumnWidth()
返回所有列的总组合宽度。- Specified by:
-
getTotalColumnWidth在界面TableColumnModel - 结果
-
totalColumnWidth属性
-
setSelectionModel
public void setSelectionModel(ListSelectionModel newModel)
设置此选择模型TableColumnModel至newModel,并注册了来自新选择模型的通知。 如果newModel是null,则抛出异常。- Specified by:
-
setSelectionModel在界面TableColumnModel - 参数
-
newModel- 新的选择模型 - 异常
-
IllegalArgumentException- 如果newModel是null - 另请参见:
-
getSelectionModel()
-
getSelectionModel
public ListSelectionModel getSelectionModel()
返回用于维护列选择状态的ListSelectionModel。- Specified by:
-
getSelectionModel在界面TableColumnModel - 结果
-
提供列选择状态的对象。
如果不允许行选择,则为
null。 - 另请参见:
-
setSelectionModel(javax.swing.ListSelectionModel)
-
setColumnSelectionAllowed
public void setColumnSelectionAllowed(boolean flag)
设置是否允许列选择。 默认值为false。- Specified by:
-
setColumnSelectionAllowed接口TableColumnModel - 参数
-
flag- 如果允许列选择,flagtrue,否则为false - 另请参见:
-
TableColumnModel.getColumnSelectionAllowed()
-
getColumnSelectionAllowed
public boolean getColumnSelectionAllowed()
如果允许列选择,则返回true,否则返回false。 默认值为false。- Specified by:
-
getColumnSelectionAllowed在界面TableColumnModel - 结果
-
columnSelectionAllowed属性 - 另请参见:
-
TableColumnModel.setColumnSelectionAllowed(boolean)
-
getSelectedColumns
public int[] getSelectedColumns()
返回所选列的数组。 如果selectionModel是null,则返回一个空数组。- Specified by:
-
getSelectedColumns在界面TableColumnModel - 结果
-
选定列数组或空数组(如果未选择任何内容或
selectionModel为null
-
getSelectedColumnCount
public int getSelectedColumnCount()
返回选定的列数。- Specified by:
-
getSelectedColumnCount接口TableColumnModel - 结果
- 选择的列数
-
addColumnModelListener
public void addColumnModelListener(TableColumnModelListener x)
为表列模型事件添加侦听器。- Specified by:
-
addColumnModelListener在界面TableColumnModel - 参数
-
x-TableColumnModelListener对象
-
removeColumnModelListener
public void removeColumnModelListener(TableColumnModelListener x)
删除表列模型事件的侦听器。- Specified by:
-
removeColumnModelListener接口TableColumnModel - 参数
-
x-TableColumnModelListener对象
-
getColumnModelListeners
public TableColumnModelListener[] getColumnModelListeners()
返回在此模型上注册的所有列模型侦听器的数组。- 结果
-
所有这个默认表列模型的
ColumnModelListeners,如果当前没有列模型侦听器,则为空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addColumnModelListener(javax.swing.event.TableColumnModelListener),removeColumnModelListener(javax.swing.event.TableColumnModelListener)
-
fireColumnAdded
protected void fireColumnAdded(TableColumnModelEvent e)
通知所有已注册对此事件类型的通知感兴趣的听众。 使用传递给fire方法的参数延迟创建事件实例。- 参数
-
e- 收到的活动 - 另请参见:
-
EventListenerList
-
fireColumnRemoved
protected void fireColumnRemoved(TableColumnModelEvent e)
通知所有已注册对此事件类型的通知感兴趣的听众。 使用传递给fire方法的参数延迟创建事件实例。- 参数
-
e- 收到的活动 - 另请参见:
-
EventListenerList
-
fireColumnMoved
protected void fireColumnMoved(TableColumnModelEvent e)
通知所有已注册对此事件类型的通知感兴趣的听众。 使用传递给fire方法的参数延迟创建事件实例。- 参数
-
e- 收到的活动 - 另请参见:
-
EventListenerList
-
fireColumnSelectionChanged
protected void fireColumnSelectionChanged(ListSelectionEvent e)
通知所有已注册对此事件类型的通知感兴趣的听众。 使用传递给fire方法的参数延迟创建事件实例。- 参数
-
e- 收到的活动 - 另请参见:
-
EventListenerList
-
fireColumnMarginChanged
protected void fireColumnMarginChanged()
通知所有已注册对此事件类型的通知感兴趣的听众。 使用传递给fire方法的参数延迟创建事件实例。- 另请参见:
-
EventListenerList
-
getListeners
public <T extends EventListener> T[] getListeners(类<T> listenerType)
返回此模型上当前注册为FooListener的所有对象的数组。FooListeners使用addFooListener方法注册。您可以使用类文字指定
listenerType参数,例如FooListener.class。 例如,您可以使用以下代码查询DefaultTableColumnModelm作为其列模型侦听器:ColumnModelListener[] cmls = (ColumnModelListener[])(m.getListeners(ColumnModelListener.class));如果不存在此类侦听器,则此方法返回空数组。- 参数类型
-
T- 侦听器类型 - 参数
-
listenerType- 请求的侦听器类型 - 结果
-
此模型上注册为
FooListener的所有对象的数组,如果未添加此类侦听器,则为空数组 - 异常
-
ClassCastException- 如果listenerType未指定实现java.util.EventListener的类或接口 - 从以下版本开始:
- 1.3
- 另请参见:
-
getColumnModelListeners()
-
propertyChange
public void propertyChange(PropertyChangeEvent evt)
属性更改侦听器更改方法。 用于跟踪列宽或首选列宽的更改。- Specified by:
-
propertyChange接口PropertyChangeListener - 参数
-
evt-PropertyChangeEvent
-
valueChanged
public void valueChanged(ListSelectionEvent e)
AListSelectionListener在列选择更改时转发ListSelectionEvents。- Specified by:
-
valueChanged接口ListSelectionListener - 参数
-
e- 更改事件
-
createSelectionModel
protected ListSelectionModel createSelectionModel()
创建新的默认列表选择模型。- 结果
- 新创建的默认列表选择模型。
-
recalcWidthCache
protected void recalcWidthCache()
重新计算所有列的总组合宽度。 更新totalColumnWidth属性。
-
-