public class TableColumn extends Object implements Serializable
TableColumn表示JTable中的列的所有JTable ,例如宽度,可重定位度,最小和最大宽度。
此外, TableColumn还提供了可用于显示和编辑此列中的值的渲染器和编辑器的插槽。
它也可以在每个类型的基础上,而不是每列的基础上指定渲染器和编辑器-看setDefaultRenderer的方法JTable类。 此默认机制仅在TableColumn中的渲染器(或编辑器)为TableColumn时null 。
该TableColumn存储在列之间的链接JTable在与列TableModel 。 该modelIndex是在列TableModel ,这将被查询用于该列中的单元中的数据值。 随着列在视图中移动,这modelIndex不会改变。
注意:有些实现可能假设所有TableColumnModel都是唯一的,因此我们建议不要将TableColumn实例不要一次添加到TableColumnModel 。 要使用模型中相同的数据列显示TableColumn s,请创建一个具有相同modelIndex的新实例。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已经添加到java.beans包中。 请参阅XMLEncoder 。
| Modifier and Type | Field and Description |
|---|---|
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的绘图机械 JTable ;
可以在TableColumn中设置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
列的宽度。
|
| Constructor and Description |
|---|
TableColumn()
Cover方法,使用默认模型索引为0,默认宽度为75,一个
null渲染器和一个
null编辑器。
|
TableColumn(int modelIndex)
Cover方法,使用默认宽度为75,一个
null渲染器和一个
null编辑器。
|
TableColumn(int modelIndex, int width)
封面方法,使用
null渲染器和
null编辑器。
|
TableColumn(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor)
创建并初始化的实例 TableColumn与指定的模型索引,宽度,单元格渲染器,和细胞编辑;
所有TableColumn函数都委托给这个。
|
| Modifier and Type | Method and Description |
|---|---|
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 ,如有
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大小以适应其标题单元格的宽度。
|
public static final String COLUMN_WIDTH_PROPERTY
public static final String HEADER_VALUE_PROPERTY
public static final String HEADER_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTY
protected int modelIndex
TableColumn显示的列的索引。
随着列在视图中移动, modelIndex保持不变。
protected Object identifier
JTable ;
可以在TableColumn中设置TableColumn ,作为标记和查找表列的可选方式。
表的包不修改或调用在比其它这些标识符的对象的任何方法equals ,其在所使用的方法getColumnIndex()在该方法中DefaultTableColumnModel 。
protected int width
protected int minWidth
protected int maxWidth
protected TableCellRenderer headerRenderer
protected Object headerValue
protected TableCellRenderer cellRenderer
protected TableCellEditor cellEditor
protected boolean isResizable
@Deprecated protected transient int resizedPostingDisableCount
public TableColumn()
null渲染器和一个null编辑器。
此方法用于序列化。
public TableColumn(int modelIndex)
null渲染器和一个
null编辑器。
public TableColumn(int modelIndex,
int width)
null渲染器和
null编辑器。
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)
public void setModelIndex(int modelIndex)
TableColumn显示的列的索引。
由于TableColumn在视图中移动,模型索引保持不变。
modelIndex - 新的modelIndex
public int getModelIndex()
modelIndex属性
public void setIdentifier(Object identifier)
TableColumn的标识符设置为anIdentifier 。
注意:JTable不使用JTable ,它们纯粹是方便外部标记和列的位置。
identifier - 此列的标识符
getIdentifier()
public Object getIdentifier()
identifier对象。
JTable不使用JTable ,它们纯粹是外部使用的便利。
如果identifier是null , getIdentifier()返回getHeaderValue作为默认值。
identifier属性
setIdentifier(java.lang.Object)
public void setHeaderValue(Object headerValue)
Object其字符串表示将用作值headerRenderer 。
当创建TableColumn时,默认的headerValue是null 。
headerValue - 新的headerValue
getHeaderValue()
public Object getHeaderValue()
Object 。
headerValue属性
setHeaderValue(java.lang.Object)
public void setHeaderRenderer(TableCellRenderer headerRenderer)
TableCellRenderer用于绘制TableColumn的标题到headerRenderer 。
标题渲染器有责任提交排序指示器。 如果您正在使用排序并指定渲染器,则您的渲染器必须呈现排序指示。
headerRenderer - 新的headerRenderer
getHeaderRenderer()
public TableCellRenderer getHeaderRenderer()
TableCellRenderer用于绘制标题的TableColumn 。
当headerRenderer是null时, JTableHeader使用其defaultRenderer 。
headerRenderer的默认值为null 。
headerRenderer属性
setHeaderRenderer(javax.swing.table.TableCellRenderer) ,
setHeaderValue(java.lang.Object) ,
JTableHeader.getDefaultRenderer()
public void setCellRenderer(TableCellRenderer cellRenderer)
TableCellRenderer使用的
JTable绘制此列的各个值。
cellRenderer - 新的cellRenderer
getCellRenderer()
public TableCellRenderer getCellRenderer()
TableCellRenderer用于绘制此列的值的JTable 。
该列的cellRenderer不仅控制列的视觉外观,还用于解释由TableModel提供的值对象。
当cellRenderer为null时, JTable使用基于该列中单元格类的默认渲染器。
cellRenderer的默认值为null 。
public void setCellEditor(TableCellEditor cellEditor)
cellEditor - 新的cellEditor
getCellEditor()
public TableCellEditor getCellEditor()
TableCellEditor使用的JTable编辑此列的值。
当cellEditor为null时, JTable使用基于该列中单元格类的默认编辑器。
cellEditor的默认值为null 。
public void setWidth(int width)
JTable中的列的宽度,而是使用setPreferredWidth 。
像AWT中的布局管理器一样, JTable会自动调整列的宽度,只要表本身更改大小,或列的首选宽度更改。
因此,以编程方式设置宽度不具有长期的效果。
此方法将此列的宽度设置为width 。 如果width超过最小或最大宽度,则将其调整到适当的极限值。
width - 新的宽度
getWidth() ,
setMinWidth(int) ,
setMaxWidth(int) ,
setPreferredWidth(int) ,
JTable.doLayout()
public int getWidth()
TableColumn的宽度。
默认宽度为75。
width属性
setWidth(int)
public void setPreferredWidth(int preferredWidth)
preferredWidth 。
如果preferredWidth超过最小或最大宽度,则将其调整到适当的极限值。
有关如何列在宽度细节JTable (和JTableHeader )从所计算的preferredWidth ,请参阅doLayout在方法JTable 。
preferredWidth - 新的首选宽度
getPreferredWidth() ,
JTable.doLayout()
public int getPreferredWidth()
TableColumn 。
默认首选宽度为75。
preferredWidth属性
setPreferredWidth(int)
public void setMinWidth(int minWidth)
TableColumn的最小宽度设置为minWidth ,如有minWidth ,调整新的最小宽度,以确保0 <= minWidth <= maxWidth 。
例如,如果minWidth参数为负,则此方法将minWidth属性设置为0。
如果width或preferredWidth属性的值小于新的最小宽度,则此方法将该属性设置为新的最小宽度。
minWidth - 新的最小宽度
getMinWidth() ,
setPreferredWidth(int) ,
setMaxWidth(int)
public int getMinWidth()
TableColumn的最小宽度。
TableColumn的宽度不能由用户或编程方式缩小。
minWidth属性
setMinWidth(int) ,
TableColumn(int, int, TableCellRenderer, TableCellEditor)
public void setMaxWidth(int maxWidth)
TableColumn的最大宽度设置为maxWidth或者如果maxWidth小于最小宽度,则设置为最小宽度。
如果width或preferredWidth属性的值大于新的最大宽度,则此方法将该属性设置为新的最大宽度。
maxWidth - 新的最大宽度
getMaxWidth() ,
setPreferredWidth(int) ,
setMinWidth(int)
public int getMaxWidth()
TableColumn的最大宽度。
TableColumn的宽度不能由用户或编程方式大于这个宽度。
默认的maxWidth是Integer.MAX_VALUE。
maxWidth属性
setMaxWidth(int)
public void setResizable(boolean isResizable)
isResizable - 如果为true,则允许调整大小;
否则为虚假
getResizable()
public boolean getResizable()
TableColumn的宽度,返回true,否则返回false。
无论此设置如何,都可以以编程方式更改宽度。
默认值为true。
isResizable属性
setResizable(boolean)
public void sizeWidthToFit()
TableColumn大小以适应其标题单元格的宽度。
如果头渲染器为null (默认情况),此方法不执行任何操作。
否则,它将该列的最小值,最大值和优选宽度设置为标题渲染器传递的组件的最小值,最大值和优选大小的宽度。
此TableColumn的瞬态“width”属性也设置为首选宽度。
请注意,该方法不是由表包内部使用。
setPreferredWidth(int)
@Deprecated public void disableResizedPosting()
@Deprecated public void enableResizedPosting()
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener添加到侦听器列表。
所有属性都注册了监听器。
一个PropertyChangeEvent将响应被解雇显式调用到setFont , setBackground ,或setForeground当前组件上。 请注意,如果当前组件从其容器继承其前台,背景或字体,则不会在继承的属性中更改时触发任何事件。
listener - 要添加的侦听器
public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener 。
该PropertyChangeListener要删除已注册的所有属性。
listener - 要删除的侦听器
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener的数组。
PropertyChangeListener或者如果没有添加侦听器,则为空数组
protected TableCellRenderer createDefaultHeaderRenderer()
TableColumn构造函数调用的。
以前这种方法被TableColumn用来创建一个默认的头渲染器。
从Java 2平台v1.3开始,默认头渲染器为null 。
JTableHeader现在提供了自己的共享默认渲染器,就像JTable对其单元格渲染器一样。
JTableHeader.createDefaultRenderer()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.