|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.table.AbstractTableModel
public abstract class AbstractTableModel
此抽象類別為 TableModel
介面中的大多數方法提供預設實作。它負責管理偵聽器,並為產生 TableModelEvents
以及將其排程到偵聽器提供方便。要創建一個具體的 TableModel
作為 AbstractTableModel
的子類別,只需提供對以下三個方法的實作:
public int getRowCount(); public int getColumnCount(); public Object getValueAt(int row, int column);
警告:此類別的已序列化物件與以後的 Swing 版本不相容。當前的序列化支持適用於短期存儲或運行相同 Swing 版本的應用程序之間的 RMI。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
欄位摘要 | |
---|---|
protected EventListenerList |
listenerList
偵聽器的列表 |
建構子摘要 | |
---|---|
AbstractTableModel()
|
方法摘要 | ||
---|---|---|
void |
addTableModelListener(TableModelListener l)
每次資料模型發生更改時,就向被通知的列表添加一個偵聽器。 |
|
int |
findColumn(String columnName)
返回具有給定名稱的列。 |
|
void |
fireTableCellUpdated(int row,
int column)
通知所有偵聽器,已更新 [row, column] 處的單元格值。 |
|
void |
fireTableChanged(TableModelEvent e)
將給定的通知事件轉發到所有將自身註冊為此表模型的偵聽器的 TableModelListeners 。 |
|
void |
fireTableDataChanged()
通知所有偵聽器,表的所有行單元格值可能已更改。 |
|
void |
fireTableRowsDeleted(int firstRow,
int lastRow)
通知所有偵聽器,已刪除範圍在 [firstRow, lastRow] (包括)的行。 |
|
void |
fireTableRowsInserted(int firstRow,
int lastRow)
通知所有偵聽器,已插入範圍在 [firstRow, lastRow] (包括)的行。 |
|
void |
fireTableRowsUpdated(int firstRow,
int lastRow)
通知所有偵聽器,已更新範圍在 [firstRow, lastRow] (包括)的行。 |
|
void |
fireTableStructureChanged()
通知所有偵聽器,表的結構已更改。 |
|
Class<?> |
getColumnClass(int columnIndex)
返回 Object.class 而不管 columnIndex 是多少。 |
|
String |
getColumnName(int column)
返回列預設名稱,其中列使用以下工作表約定:A、B、C……Z、AA、AB 等等。 |
|
|
getListeners(Class<T> listenerType)
返回一個套件含當前註冊為此 AbstractTableModel 上的 FooListener 的所有物件的陣列。 |
|
TableModelListener[] |
getTableModelListeners()
返回一個套件含在此模型上註冊的所有表模型偵聽器的陣列。 |
|
boolean |
isCellEditable(int rowIndex,
int columnIndex)
返回 false。 |
|
void |
removeTableModelListener(TableModelListener l)
每次資料模型發生更改時,就從被通知的列表移除一個偵聽器。 |
|
void |
setValueAt(Object aValue,
int rowIndex,
int columnIndex)
由於提供了此空實作,因此,如果使用者的資料模型是不可編輯的,則他們不必實作此方法。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
從介面 javax.swing.table.TableModel 繼承的方法 |
---|
getColumnCount, getRowCount, getValueAt |
欄位詳細資訊 |
---|
protected EventListenerList listenerList
建構子詳細資訊 |
---|
public AbstractTableModel()
方法詳細資訊 |
---|
public String getColumnName(int column)
column
,則返回一個空字元串。
TableModel
中的 getColumnName
column
- 被查詢的列
column
預設名稱的字元串public int findColumn(String columnName)
TableModel
介面中,也不被 JTable
使用。
columnName
- 套件含要尋找的列名稱的字元串
columnName
的列,如果未找到該列,則返回 -1public Class<?> getColumnClass(int columnIndex)
Object.class
而不管 columnIndex
是多少。
TableModel
中的 getColumnClass
columnIndex
- 被查詢的列
public boolean isCellEditable(int rowIndex, int columnIndex)
TableModel
中的 isCellEditable
rowIndex
- 被查詢的行columnIndex
- 被查詢的列
TableModel.setValueAt(java.lang.Object, int, int)
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
TableModel
中的 setValueAt
aValue
- 要分派給單元格的值rowIndex
- 單元格所在行columnIndex
- 單元格所在列TableModel.getValueAt(int, int)
,
TableModel.isCellEditable(int, int)
public void addTableModelListener(TableModelListener l)
TableModel
中的 addTableModelListener
l
- TableModelListenerpublic void removeTableModelListener(TableModelListener l)
TableModel
中的 removeTableModelListener
l
- TableModelListenerpublic TableModelListener[] getTableModelListeners()
TableModelListener
,如果當前沒有已註冊的表模型偵聽器,則返回一個空陣列addTableModelListener(javax.swing.event.TableModelListener)
,
removeTableModelListener(javax.swing.event.TableModelListener)
public void fireTableDataChanged()
JTable
應該從頭開始重新繪製該表。假定表的結構(如同列的順序)是相同的。
TableModelEvent
,
EventListenerList
,
JTable.tableChanged(TableModelEvent)
public void fireTableStructureChanged()
JTable
接收此事件,並且設置了其 autoCreateColumnsFromModel
標誌,則它丟棄之前具有的所有表列,並按列在模型中出現的順序重新分派預設列。這與對 JTable
調用 setModel(TableModel)
具有相同的效果。
TableModelEvent
,
EventListenerList
public void fireTableRowsInserted(int firstRow, int lastRow)
[firstRow, lastRow]
(包括)的行。
firstRow
- 第一行lastRow
- 最後一行TableModelEvent
,
EventListenerList
public void fireTableRowsUpdated(int firstRow, int lastRow)
[firstRow, lastRow]
(包括)的行。
firstRow
- 第一行lastRow
- 最後一行TableModelEvent
,
EventListenerList
public void fireTableRowsDeleted(int firstRow, int lastRow)
[firstRow, lastRow]
(包括)的行。
firstRow
- 第一行lastRow
- 最後一行TableModelEvent
,
EventListenerList
public void fireTableCellUpdated(int row, int column)
[row, column]
處的單元格值。
row
- 已更新的單元格所在行column
- 已更新的單元格所在列TableModelEvent
,
EventListenerList
public void fireTableChanged(TableModelEvent e)
TableModelListeners
。
e
- 要轉發的事件addTableModelListener(javax.swing.event.TableModelListener)
,
TableModelEvent
,
EventListenerList
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
AbstractTableModel
上的 FooListener
的所有物件的陣列。FooListener
是用 addFooListener
方法註冊的。
可以使用 class 文字值(如 FooListener.class
)來指定 listenerType
參數。例如,可以通過以下程式碼查詢模型 m
,以獲得其表模型偵聽器:
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));如果不存在這樣的偵聽器,則此方法將返回一個空陣列。
listenerType
- 所請求偵聽器的型別;此參數應該指定一個從 java.util.EventListener
繼承的介面
FooListener
的所有物件組成的陣列,如果沒有添加這樣的偵聽器,則返回一個空陣列
ClassCastException
- 如果 listenerType
沒有指定實作 java.util.EventListener
的類別或介面getTableModelListeners()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。