- 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 StringCELL_RENDERER_PROPERTY从Java 2平台v1.3开始已过时。protected TableCellEditorcellEditor编辑器用于编辑列的数据单元格。protected TableCellRenderercellRenderer渲染器用于绘制列的数据单元格。static StringCOLUMN_WIDTH_PROPERTY从Java 2平台v1.3开始已过时。static StringHEADER_RENDERER_PROPERTY从Java 2平台v1.3开始已过时。static StringHEADER_VALUE_PROPERTY从Java 2平台v1.3开始已过时。protected TableCellRendererheaderRenderer渲染器用于绘制列的标题。protected ObjectheaderValue列的标题值。protected ObjectidentifierJTable的绘图机器不在内部使用该对象; 标识符可以在TableColumn设置,作为标记和定位表列的可选方法。protected booleanisResizable如果为true,则允许用户调整列的大小; 默认值为true。protected intmaxWidth列的最大宽度。protected intminWidth列的最小宽度。protected intmodelIndex模型中列的索引,由此TableColumn显示。protected intresizedPostingDisableCount已过时。从Java 2平台v1.3开始protected intwidth列的宽度。
-
构造方法摘要
构造方法 构造器 描述 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构造函数都委托给这个。
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 voidaddPropertyChangeListener(PropertyChangeListener listener)将PropertyChangeListener添加到侦听器列表中。protected TableCellRenderercreateDefaultHeaderRenderer()从Java 2平台v1.3开始,TableColumn构造函数不调用此方法。voiddisableResizedPosting()已过时。从Java 2平台v1.3开始voidenableResizedPosting()已过时。从Java 2平台v1.3开始TableCellEditorgetCellEditor()返回TableCellEditor用于编辑此列的值的JTable。TableCellRenderergetCellRenderer()返回TableCellRenderer用于绘制此列的值的JTable。TableCellRenderergetHeaderRenderer()返回TableCellRenderer用于绘制的头TableColumn。ObjectgetHeaderValue()返回用作标题渲染器值的Object。ObjectgetIdentifier()返回此列的identifier对象。intgetMaxWidth()返回TableColumn的最大宽度。intgetMinWidth()返回TableColumn的最小宽度。intgetModelIndex()返回此列的模型索引。intgetPreferredWidth()返回TableColumn的首选宽度。PropertyChangeListener[]getPropertyChangeListeners()返回使用addPropertyChangeListener()添加到此TableColumn的所有PropertyChangeListener的数组。booleangetResizable()如果允许用户调整TableColumn的宽度,则返回true,否则返回false。intgetWidth()返回TableColumn的宽度。voidremovePropertyChangeListener(PropertyChangeListener listener)从侦听器列表中删除PropertyChangeListener。voidsetCellEditor(TableCellEditor cellEditor)设置编辑此列中的单元格时使用的编辑器。voidsetCellRenderer(TableCellRenderer cellRenderer)设置TableCellRenderer使用的JTable为此列绘制单个值。voidsetHeaderRenderer(TableCellRenderer headerRenderer)设置TableCellRenderer用来牵动TableColumn的头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。voidsizeWidthToFit()调整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,JTablegetDefaultRenderer或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()
-
-