模块  java.desktop
软件包  javax.swing.table

Class DefaultTableColumnModel

    • 字段详细信息

      • 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
        所有列的组合宽度的本地缓存
    • 构造方法详细信息

      • DefaultTableColumnModel

        public DefaultTableColumnModel()
        创建默认表列模型。
    • 方法详细信息

      • removeColumn

        public void removeColumn​(TableColumn column)
        删除columntableColumns阵列。 如果column不在表的列列表中,则此方法将不执行任何操作。 tile来调整标题和表视图的大小。 此方法还将columnRemoved事件发布到其侦听器。
        Specified by:
        removeColumn在界面 TableColumnModel
        参数
        column - 要删除的 TableColumn
        另请参见:
        addColumn(javax.swing.table.TableColumn)
      • moveColumn

        public void moveColumn​(int columnIndex,
                               int newIndex)
        将列和标题移动到columnIndexnewIndex 旧栏目columnIndex现在位于newIndex 以前位于newIndex的列向左或向右移动以腾出空间。 如果columnIndex等于newIndex则不会移动任何列。 此方法还将columnMoved事件发布到其侦听器。
        Specified by:
        moveColumn在界面 TableColumnModel
        参数
        columnIndex - 要移动的列的索引
        newIndex - 移动列的新索引
        异常
        IllegalArgumentException - 如果 columnnewIndex不在有效范围内
      • getColumnCount

        public int getColumnCount()
        返回 tableColumns数组中的列数。
        Specified by:
        getColumnCount ,界面 TableColumnModel
        结果
        tableColumns数组中的列数
        另请参见:
        getColumns()
      • getColumnIndex

        public int getColumnIndex​(Object identifier)
        返回 tableColumns数组中第一列的索引,其标识符等于 identifier ,使用 equals进行比较时。
        Specified by:
        getColumnIndex在界面 TableColumnModel
        参数
        identifier - 标识符对象
        结果
        tableColumns数组中第一列的索引,其标识符等于 identifier
        异常
        IllegalArgumentException - 如果 identifiernull ,或者没有 TableColumn这个 identifier
        另请参见:
        getColumn(int)
      • getColumn

        public TableColumn getColumn​(int columnIndex)
        返回列的 TableColumn对象 columnIndex
        Specified by:
        getColumn在界面 TableColumnModel
        参数
        columnIndex - 所需列的索引
        结果
        该列的 TableColumn对象为 columnIndex
      • 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属性
      • getSelectedColumns

        public int[] getSelectedColumns()
        返回所选列的数组。 如果selectionModelnull ,则返回一个空数组。
        Specified by:
        getSelectedColumns在界面 TableColumnModel
        结果
        选定列数组或空数组(如果未选择任何内容或 selectionModelnull
      • 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的所有对象的数组。 FooListener s使用addFooListener方法注册。

        您可以使用类文字指定listenerType参数,例如FooListener.class 例如,您可以使用以下代码查询DefaultTableColumnModel m作为其列模型侦听器:

          ColumnModelListener[] cmls = (ColumnModelListener[])(m.getListeners(ColumnModelListener.class)); 
        如果不存在此类侦听器,则此方法返回空数组。
        参数类型
        T - 侦听器类型
        参数
        listenerType - 请求的侦听器类型
        结果
        此模型上注册为 FooListener的所有对象的数组,如果未添加此类侦听器,则为空数组
        异常
        ClassCastException - 如果 listenerType未指定实现 java.util.EventListener的类或接口
        从以下版本开始:
        1.3
        另请参见:
        getColumnModelListeners()
      • createSelectionModel

        protected ListSelectionModel createSelectionModel()
        创建新的默认列表选择模型。
        结果
        新创建的默认列表选择模型。
      • recalcWidthCache

        protected void recalcWidthCache()
        重新计算所有列的总组合宽度。 更新totalColumnWidth属性。