- java.lang.Object
-
- javax.swing.table.TableColumn
-
- 实现的所有接口
-
Serializable
public class TableColumn extends Object implements Serializable
甲TableColumn
表示在所述列的所有属性JTable
,诸如宽度,可调整大小,最小和最大宽度。 此外,TableColumn
还为渲染器和编辑器提供了插槽,可用于显示和编辑此列中的值。也可以基于每个类型而不是每列来指定渲染器和编辑器 - 请参阅
JTable
类中的setDefaultRenderer
方法。 当渲染器(或编辑器)此默认机制仅用于TableColumn
为null
。该
TableColumn
存储在列之间的链接JTable
中,列TableModel
。 该modelIndex
是在列TableModel
,这将被查询用于该列中的单元中的数据值。 当列在视图中移动时,此modelIndex
不会更改。注意:某些实现可能会假设所有
TableColumnModel
都是唯一的,因此我们建议不要将同一个TableColumn
实例多次添加到TableColumnModel
。 要使用模型中的相同数据列显示TableColumn
,请使用相同的modelIndex
创建新实例。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。
-
-
字段汇总
字段 变量和类型 字段 描述 static String
CELL_RENDERER_PROPERTY
从Java 2平台v1.3开始已过时。protected TableCellEditor
cellEditor
编辑器用于编辑列的数据单元格。protected TableCellRenderer
cellRenderer
渲染器用于绘制列的数据单元格。static String
COLUMN_WIDTH_PROPERTY
从Java 2平台v1.3开始已过时。static String
HEADER_RENDERER_PROPERTY
从Java 2平台v1.3开始已过时。static String
HEADER_VALUE_PROPERTY
从Java 2平台v1.3开始已过时。protected TableCellRenderer
headerRenderer
渲染器用于绘制列的标题。protected Object
headerValue
列的标题值。protected Object
identifier
JTable
的绘图机器不在内部使用该对象; 标识符可以在TableColumn
设置,作为标记和定位表列的可选方法。protected boolean
isResizable
如果为true,则允许用户调整列的大小; 默认值为true。protected int
maxWidth
列的最大宽度。protected int
minWidth
列的最小宽度。protected int
modelIndex
模型中列的索引,由此TableColumn
显示。protected int
resizedPostingDisableCount
已过时。从Java 2平台v1.3开始protected int
width
列的宽度。
-
构造方法摘要
构造方法 构造器 描述 TableColumn()
封面方法,使用默认模型索引0,默认宽度null
渲染器和null
编辑器。TableColumn(int modelIndex)
封面方法,使用默认宽度null
渲染器和null
编辑器。TableColumn(int modelIndex, int width)
封面方法,使用null
渲染器和null
编辑器。TableColumn(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor)
使用指定的模型索引,宽度,单元格渲染器和单元格编辑器创建并初始化TableColumn
的实例; 所有TableColumn
构造函数都委托给这个。
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 void
addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener
添加到侦听器列表中。protected TableCellRenderer
createDefaultHeaderRenderer()
从Java 2平台v1.3开始,TableColumn
构造函数不调用此方法。void
disableResizedPosting()
已过时。从Java 2平台v1.3开始void
enableResizedPosting()
已过时。从Java 2平台v1.3开始TableCellEditor
getCellEditor()
返回TableCellEditor
用于编辑此列的值的JTable
。TableCellRenderer
getCellRenderer()
返回TableCellRenderer
用于绘制此列的值的JTable
。TableCellRenderer
getHeaderRenderer()
返回TableCellRenderer
用于绘制的头TableColumn
。Object
getHeaderValue()
返回用作标题渲染器值的Object
。Object
getIdentifier()
返回此列的identifier
对象。int
getMaxWidth()
返回TableColumn
的最大宽度。int
getMinWidth()
返回TableColumn
的最小宽度。int
getModelIndex()
返回此列的模型索引。int
getPreferredWidth()
返回TableColumn
的首选宽度。PropertyChangeListener[]
getPropertyChangeListeners()
返回使用addPropertyChangeListener()添加到此TableColumn的所有PropertyChangeListener
的数组。boolean
getResizable()
如果允许用户调整TableColumn
的宽度,则返回true,否则返回false。int
getWidth()
返回TableColumn
的宽度。void
removePropertyChangeListener(PropertyChangeListener listener)
从侦听器列表中删除PropertyChangeListener
。void
setCellEditor(TableCellEditor cellEditor)
设置编辑此列中的单元格时使用的编辑器。void
setCellRenderer(TableCellRenderer cellRenderer)
设置TableCellRenderer
使用的JTable
为此列绘制单个值。void
setHeaderRenderer(TableCellRenderer headerRenderer)
设置TableCellRenderer
用来牵动TableColumn
的头headerRenderer
。void
setHeaderValue(Object headerValue)
设置Object
其字符串表示形式将用作headerRenderer
的值。void
setIdentifier(Object identifier)
将TableColumn
的标识符设置为anIdentifier
。void
setMaxWidth(int maxWidth)
将TableColumn
的最大宽度设置为maxWidth
或者,如果maxWidth
小于最小宽度,则设置为最小宽度。void
setMinWidth(int minWidth)
将TableColumn
的最小宽度设置为minWidth
,必要时调整新的最小宽度以确保0 <=minWidth
<=maxWidth
。void
setModelIndex(int modelIndex)
设置此列的模型索引。void
setPreferredWidth(int preferredWidth)
将此列的首选宽度设置为preferredWidth
。void
setResizable(boolean isResizable)
设置是否可以调整此列的大小。void
setWidth(int width)
此方法不应用于设置JTable
中列的宽度,而是使用setPreferredWidth
。void
sizeWidthToFit()
调整TableColumn
以适合其标题单元格的宽度。
-
-
-
字段详细信息
-
COLUMN_WIDTH_PROPERTY
public static final String COLUMN_WIDTH_PROPERTY
从Java 2平台v1.3开始已过时。 请使用字符串文字来标识属性。- 另请参见:
- 常数字段值
-
HEADER_VALUE_PROPERTY
public static final String HEADER_VALUE_PROPERTY
从Java 2平台v1.3开始已过时。 请使用字符串文字来标识属性。- 另请参见:
- 常数字段值
-
HEADER_RENDERER_PROPERTY
public static final String HEADER_RENDERER_PROPERTY
从Java 2平台v1.3开始已过时。 请使用字符串文字来标识属性。- 另请参见:
- 常数字段值
-
CELL_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTY
从Java 2平台v1.3开始已过时。 请使用字符串文字来标识属性。- 另请参见:
- 常数字段值
-
modelIndex
protected int modelIndex
模型中列的索引,由此TableColumn
显示。 当列在视图中移动时,modelIndex
保持不变。
-
identifier
protected Object identifier
JTable
的绘图机械不在内部使用该物体。 标识符可以在TableColumn
设置,作为标记和定位表列的可选方法。 表的包不修改或调用在比其它这些标识符的对象的任何方法equals
,其在所使用的方法getColumnIndex()
在该方法中DefaultTableColumnModel
。
-
width
protected int width
列的宽度。
-
minWidth
protected int minWidth
列的最小宽度。
-
maxWidth
protected int maxWidth
列的最大宽度。
-
headerRenderer
protected TableCellRenderer headerRenderer
渲染器用于绘制列的标题。
-
headerValue
protected Object headerValue
列的标题值。
-
cellRenderer
protected TableCellRenderer cellRenderer
渲染器用于绘制列的数据单元格。
-
cellEditor
protected TableCellEditor cellEditor
编辑器用于编辑列的数据单元格。
-
isResizable
protected boolean isResizable
如果为true,则允许用户调整列的大小; 默认值为true。
-
resizedPostingDisableCount
@Deprecated protected transient int resizedPostingDisableCount
Deprecated.as of Java 2 platform v1.3此字段未在以前的版本中使用过,目前没有计划在将来支持它。
-
-
构造方法详细信息
-
TableColumn
public TableColumn()
封面方法,使用默认模型索引0,默认宽度null
渲染器和null
编辑器。 此方法用于序列化。
-
TableColumn
public TableColumn(int modelIndex)
封面方法,使用默认宽度null
渲染器和null
编辑器。- 参数
-
modelIndex
- 模型中为表中的此列提供数据的列的索引; 即使在视图中重新排序列,模型索引也保持不变 - 另请参见:
-
TableColumn(int, int, TableCellRenderer, TableCellEditor)
-
TableColumn
public TableColumn(int modelIndex, int width)
封面方法,使用null
渲染器和null
编辑器。- 参数
-
modelIndex
- 模型中为表中的此列提供数据的列的索引; 即使在视图中重新排序列,模型索引也保持不变 -
width
- 此列的首选宽度和初始宽度 - 另请参见:
-
TableColumn(int, int, TableCellRenderer, TableCellEditor)
-
TableColumn
public TableColumn(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor)
使用指定的模型索引,宽度,单元格渲染器和单元格编辑器创建并初始化TableColumn
的实例; 所有TableColumn
构造函数都委托给这个。width
的值用于初始宽度和首选宽度; 如果width
为负数,则将它们设置为0.除非初始宽度较小,否则最小宽度设置为15,在这种情况下,最小宽度设置为初始宽度。当
cellRenderer
或cellEditor
参数为null
,JTable
getDefaultRenderer
或getDefaultEditor
方法分别提供的默认值用于根据此列中的数据类型提供默认值。 本栏目为中心的渲染策略可以通过重写来规避getCellRenderer
的方法JTable
。- 参数
-
modelIndex
- 模型中为表中的此列提供数据的列的索引; 即使在视图中重新排序列,模型索引也保持不变 -
width
- 此列的首选宽度和初始宽度 -
cellRenderer
- 用于在此列中呈现值的对象 -
cellEditor
- 用于编辑此列中的值的对象 - 另请参见:
-
getMinWidth()
,JTable.getDefaultRenderer(Class)
,JTable.getDefaultEditor(Class)
,JTable.getCellRenderer(int, int)
,JTable.getCellEditor(int, int)
-
-
方法详细信息
-
setModelIndex
@BeanProperty(description="The model index.") public void setModelIndex(int modelIndex)
设置此列的模型索引。 模型索引是模型中将由此TableColumn
显示的列的索引。 当TableColumn
在视图中移动时,模型索引保持不变。- 参数
-
modelIndex
- 新的modelIndex
-
getModelIndex
public int getModelIndex()
返回此列的模型索引。- 结果
-
modelIndex
属性
-
setIdentifier
@BeanProperty(description="A unique identifier for this column.") public void setIdentifier(Object identifier)
将TableColumn
的标识符设置为anIdentifier
。注意:
JTable
不使用JTable
,它们纯粹是外部标记和列位置的便利。- 参数
-
identifier
- 此列的标识符 - 另请参见:
-
getIdentifier()
-
getIdentifier
public Object getIdentifier()
返回此列的identifier
对象。JTable
不使用注释标识符,它们纯粹是外部使用的便利。 如果identifier
为null
,getIdentifier()
回报getHeaderValue
作为默认值。- 结果
-
identifier
属性 - 另请参见:
-
setIdentifier(java.lang.Object)
-
setHeaderValue
@BeanProperty(description="The text to be used by the header renderer.") public void setHeaderValue(Object headerValue)
设置Object
其字符串表示形式将用作headerRenderer
的值。 创建TableColumn
,默认值headerValue
为null
。- 参数
-
headerValue
- 新的headerValue - 另请参见:
-
getHeaderValue()
-
getHeaderValue
public Object getHeaderValue()
返回用作标题渲染器值的Object
。- 结果
-
headerValue
财产 - 另请参见:
-
setHeaderValue(java.lang.Object)
-
setHeaderRenderer
@BeanProperty(description="The header renderer.") public void setHeaderRenderer(TableCellRenderer headerRenderer)
设置TableCellRenderer
用来牵动TableColumn
的头headerRenderer
。标题渲染器负责呈现排序指示符。 如果使用排序并指定渲染器,则渲染器必须呈现排序指示。
- 参数
-
headerRenderer
- 新的headerRenderer - 另请参见:
-
getHeaderRenderer()
-
getHeaderRenderer
public TableCellRenderer getHeaderRenderer()
返回TableCellRenderer
用于绘制的头TableColumn
。 当headerRenderer
是null
,JTableHeader
使用其defaultRenderer
。headerRenderer
的默认值是null
。- 结果
-
headerRenderer
属性 - 另请参见:
-
setHeaderRenderer(javax.swing.table.TableCellRenderer)
,setHeaderValue(java.lang.Object)
,JTableHeader.getDefaultRenderer()
-
setCellRenderer
@BeanProperty(description="The renderer to use for cell values.") public void setCellRenderer(TableCellRenderer cellRenderer)
设置TableCellRenderer
使用的JTable
为此列绘制单个值。- 参数
-
cellRenderer
- 新的cellRenderer - 另请参见:
-
getCellRenderer()
-
getCellRenderer
public TableCellRenderer getCellRenderer()
返回TableCellRenderer
用于绘制此列的值的JTable
。 该列的cellRenderer
不仅控制列的视觉外观,还用于解释TableModel
提供的值对象。 当cellRenderer
是null
,JTable
使用基于该列中单元格类的默认渲染器。cellRenderer
的默认值是null
。
-
setCellEditor
@BeanProperty(description="The editor to use for cell values.") public void setCellEditor(TableCellEditor cellEditor)
设置编辑此列中的单元格时使用的编辑器。- 参数
-
cellEditor
- 新的cellEditor - 另请参见:
-
getCellEditor()
-
getCellEditor
public TableCellEditor getCellEditor()
返回TableCellEditor
用于编辑此列的值的JTable
。 当cellEditor
是null
,JTable
使用基于该列中单元格类的默认编辑器。cellEditor
的默认值为null
。
-
setWidth
@BeanProperty(description="The width of the column.") public void setWidth(int width)
此方法不应用于设置JTable
中列的宽度,而是使用setPreferredWidth
。 与AWT中的布局管理器一样,只要表本身改变大小,或者列的首选宽度发生更改,JTable
就会自动调整列的宽度。 因此,以编程方式设置宽度不会产生长期影响。此方法将此列的宽度设置为
width
。 如果width
超过最小或最大宽度,则将其调整到适当的限制值。- 参数
-
width
- 新宽度 - 另请参见:
-
getWidth()
,setMinWidth(int)
,setMaxWidth(int)
,setPreferredWidth(int)
,JTable.doLayout()
-
getWidth
public int getWidth()
返回TableColumn
的宽度。 默认宽度为75。- 结果
-
width
属性 - 另请参见:
-
setWidth(int)
-
setPreferredWidth
@BeanProperty(description="The preferred width of the column.") public void setPreferredWidth(int preferredWidth)
将此列的首选宽度设置为preferredWidth
。 如果preferredWidth
超过最小或最大宽度,则将其调整为适当的限制值。有关如何列在宽度细节
JTable
(和JTableHeader
)从所计算的preferredWidth
,请参阅doLayout
在方法JTable
。- 参数
-
preferredWidth
- 新的首选宽度 - 另请参见:
-
getPreferredWidth()
,JTable.doLayout()
-
getPreferredWidth
public int getPreferredWidth()
返回TableColumn
的首选宽度。 默认首选宽度为75。- 结果
-
preferredWidth
属性 - 另请参见:
-
setPreferredWidth(int)
-
setMinWidth
@BeanProperty(description="The minimum width of the column.") public void setMinWidth(int minWidth)
将TableColumn
的最小宽度设置为minWidth
,必要时调整新的最小宽度以确保0 <=minWidth
<=maxWidth
。 例如,如果minWidth
参数为负数,则此方法将minWidth
属性设置为0。如果
width
或preferredWidth
属性的值小于新的最小宽度,则此方法将该属性设置为新的最小宽度。- 参数
-
minWidth
- 新的最小宽度 - 另请参见:
-
getMinWidth()
,setPreferredWidth(int)
,setMaxWidth(int)
-
getMinWidth
public int getMinWidth()
返回TableColumn
的最小宽度。TableColumn
的宽度不能由用户或以编程方式小于此值。- 结果
-
minWidth
属性 - 另请参见:
-
setMinWidth(int)
,TableColumn(int, int, TableCellRenderer, TableCellEditor)
-
setMaxWidth
@BeanProperty(description="The maximum width of the column.") public void setMaxWidth(int maxWidth)
将TableColumn
的最大宽度设置为maxWidth
或者,如果maxWidth
小于最小宽度,则设置为最小宽度。如果
width
或preferredWidth
属性的值大于新的最大宽度,则此方法将该属性设置为新的最大宽度。- 参数
-
maxWidth
- 新的最大宽度 - 另请参见:
-
getMaxWidth()
,setPreferredWidth(int)
,setMinWidth(int)
-
getMaxWidth
public int getMaxWidth()
返回TableColumn
的最大宽度。TableColumn
的宽度不能由用户或以编程方式大于此值。 默认的maxWidth是Integer.MAX_VALUE。- 结果
-
maxWidth
属性 - 另请参见:
-
setMaxWidth(int)
-
setResizable
@BeanProperty(description="Whether or not this column can be resized.") public void setResizable(boolean isResizable)
设置是否可以调整此列的大小。- 参数
-
isResizable
- 如果为true,则允许调整大小; 否则是假的 - 另请参见:
-
getResizable()
-
getResizable
public boolean getResizable()
如果允许用户调整TableColumn
的宽度,则返回true,否则返回false。 无论此设置如何,您都可以以编程方式更改宽度。 默认值为true。- 结果
-
isResizable
属性 - 另请参见:
-
setResizable(boolean)
-
sizeWidthToFit
public void sizeWidthToFit()
调整TableColumn
以适合其标题单元格的宽度。 如果标题渲染器为null
(默认情况),则此方法不执行任何操作。 否则,它将此列的最小,最大和首选宽度设置为标题渲染器传递的Component的最小,最大和首选大小的宽度。 此TableColumn的瞬态“width”属性也设置为首选宽度。 请注意,表包不在内部使用此方法。- 另请参见:
-
setPreferredWidth(int)
-
disableResizedPosting
@Deprecated public void disableResizedPosting()
Deprecated.as of Java 2 platform v1.3此字段未在以前的版本中使用过,目前没有计划在将来支持它。
-
enableResizedPosting
@Deprecated public void enableResizedPosting()
Deprecated.as of Java 2 platform v1.3此字段未在以前的版本中使用过,目前没有计划在将来支持它。
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener
添加到侦听器列表。 侦听器已注册此类的所有绑定属性,包括以下内容:- 这个TableColumn的modelIndex(“modelIndex”)
- 这个TableColumn的标识符(“标识符”)
- 这个TableColumn的标题值(“headerValue”)
- 这个TableColumn的标题渲染器(“headerRenderer”)
- 这个TableColumn的单元格渲染器(“cellRenderer”)
- 这个TableColumn的单元格编辑器(“cellEditor”)
- 这个TableColumn的宽度(“宽度”)
- 这个TableColumn的首选宽度(“preferredWidth”)
- 这个TableColumn的最小宽度(“minWidth”)
- 此TableColumn的最大宽度(“maxWidth”)
- 这个TableColumn的可调整大小的状态(“isResizable”)
- 参数
-
listener
- 要添加的侦听器 - 另请参见:
-
removePropertyChangeListener(PropertyChangeListener)
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
从侦听器列表中删除PropertyChangeListener
。 要删除的PropertyChangeListener
已注册所有属性。- 参数
-
listener
- 要删除的侦听器
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
返回使用addPropertyChangeListener()添加到此TableColumn的所有PropertyChangeListener
的数组。- 结果
-
如果没有添加任何侦听器,则添加所有
PropertyChangeListener
或空数组 - 从以下版本开始:
- 1.4
-
createDefaultHeaderRenderer
protected TableCellRenderer createDefaultHeaderRenderer()
从Java 2平台v1.3开始,TableColumn
构造函数不调用此方法。 以前,TableColumn
使用此方法来创建默认标题渲染器。 从Java 2平台v1.3开始,默认的标题渲染器为null
。JTableHeader
现在提供了自己的共享默认渲染器,就像JTable
为其单元格渲染器JTable
那样。- 结果
- 默认的标题渲染器
- 另请参见:
-
JTableHeader.createDefaultRenderer()
-
-