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()