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