|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.table.TableColumn
public class TableColumn
TableColumn
表示 JTable
中列的所有屬性,如寬度、大小可調整性、最小和最大寬度。此外,TableColumn
還為顯示和編輯此列中值的渲染器和編輯器提供了槽。
還可以基於每種型別,而不是每列來指定渲染器和編輯器,請參閱 JTable
類別中的 setDefaultRenderer
方法。此預設機制僅用於 TableColumn
中的渲染器(或編輯器)為 null
的情況。
TableColumn
存儲 JTable
中各列與 TableModel
中各列之間的連接。modelIndex
是 TableModel
中的列,要獲得此列中單元格的資料值,可對 modelIndex
進行查詢。在視圖中移動列時,此 modelIndex
不更改。
註:某些實作可能假定所有 TableColumnModel
都是唯一的,因此我們建議不要多次將同一 TableColumn
實例添加到 TableColumnModel
中。要從模型中顯示具有相同資料列的 TableColumn
,可創建具有相同 modelIndex
的新實例。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
TableColumnModel
,
DefaultTableColumnModel
,
JTableHeader.getDefaultRenderer()
,
JTable.getDefaultRenderer(Class)
,
JTable.getDefaultEditor(Class)
,
JTable.getCellRenderer(int, int)
,
JTable.getCellEditor(int, int)
欄位摘要 | |
---|---|
static String |
CELL_RENDERER_PROPERTY
從 Java 2 platform v1.3 開始已過時。 |
protected TableCellEditor |
cellEditor
用於編輯列的資料單元格的編輯器。 |
protected TableCellRenderer |
cellRenderer
用於繪製列的資料單元格的渲染器。 |
static String |
COLUMN_WIDTH_PROPERTY
從 Java 2 platform v1.3 開始已過時。 |
static String |
HEADER_RENDERER_PROPERTY
從 Java 2 platform v1.3 開始已過時。 |
static String |
HEADER_VALUE_PROPERTY
從 Java 2 platform 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 platform v1.3 開始 |
protected int |
width
列的寬度。 |
建構子摘要 | |
---|---|
TableColumn()
覆寫方法,它使用的預設模型索引為 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 |
addPropertyChangeListener(PropertyChangeListener listener)
向偵聽器列表中添加一個 PropertyChangeListener 。 |
protected TableCellRenderer |
createDefaultHeaderRenderer()
從 Java 2 platform v1.3 開始, TableColumn 建構子不再調用此方法。 |
void |
disableResizedPosting()
已過時。 從 Java 2 platform v1.3 開始 |
void |
enableResizedPosting()
已過時。 從 Java 2 platform v1.3 開始 |
TableCellEditor |
getCellEditor()
返回 JTable 用於編輯此列各值的 TableCellEditor 。 |
TableCellRenderer |
getCellRenderer()
返回 JTable 用於繪製此列各值的 TableCellRenderer 。 |
TableCellRenderer |
getHeaderRenderer()
返回用於繪製 TableColumn 標題的 TableCellRenderer 。 |
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)
設置 JTable 用於繪製此列各值的 TableCellRenderer 。 |
void |
setHeaderRenderer(TableCellRenderer headerRenderer)
將用於繪製 TableColumn 的標題的 TableCellRenderer 設置為 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 的大小,以適合其標題單元格的寬度。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
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
中設置標識符,並將其作為標記和定位表列的可選方式。table 套件只修改或調用這些標識符物件中的 equals
方法,該方法用於 DefaultTableColumnModel
中的 getColumnIndex()
方法中。
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
。此方法用於進行序列化。
TableColumn(int, int, TableCellRenderer, TableCellEditor)
public TableColumn(int modelIndex)
null
、編輯器為 null
。
TableColumn(int, int, TableCellRenderer, TableCellEditor)
public TableColumn(int modelIndex, int width)
null
、編輯器為 null
。
TableColumn(int, int, TableCellRenderer, TableCellEditor)
public TableColumn(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor)
TableColumn
實例;所有 TableColumn
建構子都委託給此方法。width
的值用於初始寬度和首選寬度;如果 width
為負,則將它們設置為 0。將最小寬度設置為 15,如果初始寬度更小,則將最小寬度設置為初始寬度的值。
當 cellRenderer
或 cellEditor
參數為 null
時,由 JTable
的 getDefaultRenderer
或 getDefaultEditor
方法提供的預設值分別用於根據此列中資料的型別來提供預設的渲染器和編輯器。通過覆寫 JTable
中的 getCellRenderer
方法可迴避這種以列為中心的呈現策略。
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
- 新的 modelIndexpublic int getModelIndex()
modelIndex
屬性public void setIdentifier(Object identifier)
TableColumn
的標識符設置為 anIdentifier
。
註:JTable
不使用標識符,它們只是為了便於外部標記和標識列的位置。
identifier
- 此列的標識符getIdentifier()
public Object getIdentifier()
identifier
物件。注意,JTable
不使用標識符,它們只是為了便於外部使用。如果 identifier
為 null
,則 getIdentifier()
返回 getHeaderValue
作為預設值。
identifier
屬性setIdentifier(java.lang.Object)
public void setHeaderValue(Object headerValue)
Object
,將使用其字元串表示形式作為 headerRenderer
的值。創建 TableColumn
時,預設的 headerValue
為 null
。
headerValue
- 新的 headerValuegetHeaderValue()
public Object getHeaderValue()
Object
。
headerValue
屬性setHeaderValue(java.lang.Object)
public void setHeaderRenderer(TableCellRenderer headerRenderer)
TableColumn
的標題的 TableCellRenderer
設置為 headerRenderer
。
標題渲染器負責呈現排序指示符。如果正在使用排序並指定了渲染器,則此渲染器必須呈現排序指示。
headerRenderer
- 新的 headerRenderergetHeaderRenderer()
public TableCellRenderer getHeaderRenderer()
TableColumn
標題的 TableCellRenderer
。headerRenderer
為 null
時,JTableHeader
使用其 defaultRenderer
。headerRenderer
的預設值為 null
。
headerRenderer
屬性setHeaderRenderer(javax.swing.table.TableCellRenderer)
,
setHeaderValue(java.lang.Object)
,
JTableHeader.getDefaultRenderer()
public void setCellRenderer(TableCellRenderer cellRenderer)
JTable
用於繪製此列各值的 TableCellRenderer
。
cellRenderer
- 新的 cellRenderergetCellRenderer()
public TableCellRenderer getCellRenderer()
JTable
用於繪製此列各值的 TableCellRenderer
。列的 cellRenderer
不僅控制著該列的可視外觀,而且還用於解釋 TableModel
所提供的值物件。cellRenderer
為 null
時,JTable
根據該列中單元格的類別來使用預設的編輯器。cellRenderer
的預設值為 null
。
cellRenderer
屬性setCellRenderer(javax.swing.table.TableCellRenderer)
,
JTable.setDefaultRenderer(java.lang.Class>, javax.swing.table.TableCellRenderer)
public void setCellEditor(TableCellEditor cellEditor)
cellEditor
- 新的 cellEditorgetCellEditor()
public TableCellEditor getCellEditor()
JTable
用於編輯此列各值的 TableCellEditor
。cellEditor
為 null
時,JTable
根據該列中單元格的類別來使用預設的渲染器。cellEditor
的預設值為 null
。
cellEditor
屬性setCellEditor(javax.swing.table.TableCellEditor)
,
JTable.setDefaultEditor(java.lang.Class>, javax.swing.table.TableCellEditor)
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
超出最小或最大寬度,則將其調整為合適的界限值。
有關如何根據 preferredWidth
計算 JTable
(和 JTableHeader
)中列寬度的細節,請參見 JTable
中的 doLayout
方法。
preferredWidth
- 新的首選寬度getPreferredWidth()
,
JTable.doLayout()
public int getPreferredWidth()
TableColumn
的首選寬度。預設首選寬度為 75。
preferredWidth
屬性setPreferredWidth(int)
public void setMinWidth(int minWidth)
TableColumn
的最小寬度設置為 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,則允許調整大小;否則為 falsegetResizable()
public boolean getResizable()
TableColumn
的寬度,則返回 true;否則返回 false。無論此設置是什麼,都可以通過程式方式更改寬度。預設值為 true。
isResizable
屬性setResizable(boolean)
public void sizeWidthToFit()
TableColumn
的大小,以適合其標題單元格的寬度。如果標題渲染器為 null
(預設情況如此),則此方法不執行任何操作。否則,此方法將此列的最小、最大和首選寬度設置為標題渲染器所傳遞的 Component 的最小、最大和首選大小。此 TableColumn 的瞬態 "width" 屬性也設置為首選寬度。注意,table 套件不會在內部使用此方法。
setPreferredWidth(int)
@Deprecated public void disableResizedPosting()
@Deprecated public void enableResizedPosting()
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
。該偵聽器是為所有屬性註冊的。
回應對當前元件上 setFont
、setBackground
或 setForeground
的顯式調用時,將觸發一個 PropertyChangeEvent
。注意,如果當前元件將繼承其容器的前景、背景或字體,則在回應所繼承屬性中的更改時不會觸發任何事件。
listener
- 要添加的偵聽器public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
。所移除的 PropertyChangeListener
是為所有屬性註冊的。
listener
- 要移除的偵聽器public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
組成的陣列。
PropertyChangeListener
,如果沒有添加偵聽器,則返回一個空陣列protected TableCellRenderer createDefaultHeaderRenderer()
TableColumn
建構子不再調用此方法。以前 TableColumn
使用此方法來創建預設的標題渲染器。從 Java 2 platform v1.3 開始,預設的標題渲染器為 null
。JTableHeader
現在提供其自己的共享預設渲染器,就像 JTable
為其單元格渲染器所提供的。
JTableHeader.createDefaultRenderer()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。