|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.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。