|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.swing.TransferHandler.TransferSupport
public static final class TransferHandler.TransferSupport
此類別封裝剪貼板或拖放傳輸的所有相關詳細資訊,並且還允許自定義拖放過程的各方面。
此類別的主要目的是提供開發人員需要的資訊,以便確定傳輸的適合性或者導入傳輸中包含的資料。但它同時又是一個控制器,可自定義拖放過程中的屬性,比如是否顯示放置位置,使用哪種放置動作等。
開發人員通常不需要創建此類別的實例。它們是 DnD 實作向 TransferHandler 中的某些方法提供的。
TransferHandler.canImport(TransferHandler.TransferSupport),
TransferHandler.importData(TransferHandler.TransferSupport)| 建構子摘要 | |
|---|---|
TransferHandler.TransferSupport(Component component,
Transferable transferable)
使用給定元件和 Transferable 創建一個 TransferSupport,對於該 TransferSupport isDrop() 返回 false。 |
|
| 方法摘要 | |
|---|---|
Component |
getComponent()
返回此傳輸的目標元件。 |
DataFlavor[] |
getDataFlavors()
返回此傳輸的資料 flavor。 |
int |
getDropAction()
當此 TransferSupport 表示放置操作時,返回為其選擇的動作。 |
TransferHandler.DropLocation |
getDropLocation()
此 TransferSupport 表示一個放置操作時,返回元件的當前放置位置(非 null)。 |
int |
getSourceDropActions()
當此 TransferSupport 表示放置操作時,返回拖動源受支持的放置動作。 |
Transferable |
getTransferable()
返回與此傳輸關聯的 Transferable。 |
int |
getUserDropAction()
當此 TransferSupport 表示一個放置操作時,返回其使用者放置動作。 |
boolean |
isDataFlavorSupported(DataFlavor df)
返回是否支持給定的資料 flavor。 |
boolean |
isDrop()
返回此 TransferSupport 是否表示一個放置操作。 |
void |
setDropAction(int dropAction)
將傳輸(必須表示一個放置操作)的放置動作設置為給定動作,而不是預設的使用者放置動作。 |
void |
setShowDropLocation(boolean showDropLocation)
設置是否應該為傳輸(必須表示一個放置操作)可視地指出放置位置。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public TransferHandler.TransferSupport(Component component,
Transferable transferable)
Transferable 創建一個 TransferSupport,對於該 TransferSupport isDrop() 返回 false。
component - 目標元件transferable - transferable
NullPointerException - 如果任一參數為 null| 方法詳細資訊 |
|---|
public boolean isDrop()
TransferSupport 是否表示一個放置操作。
true;否則返回 false。public Component getComponent()
public TransferHandler.DropLocation getDropLocation()
TransferSupport 表示一個放置操作時,返回元件的當前放置位置(非 null)。
註:對於帶內置放置操作支持的元件,此位置將是一個 DropLocation 的子類別,該 DropLocation 的型別與該元件的 getDropLocation 方法返回的相同。
此方法只用於拖放傳輸。isDrop() 為 false 時調用此方法將導致 IllegalStateException。
IllegalStateException - 如果此 TransferSupport 不是一個放置操作isDroppublic void setShowDropLocation(boolean showDropLocation)
TransferHandler 已宣告它能夠接受此 TransferSupport 表示的導入時才顯示放置位置。使用此方法,可以將放置位置強制改為總是顯示,或總是不顯示。
此方法只用於拖放傳輸。isDrop() 為 false 時調用此方法將導致 IllegalStateException。
showDropLocation - 是否指示放置位置
IllegalStateException - 如果此 TransferSupport 不是一個放置操作isDroppublic void setDropAction(int dropAction)
COPY、MOVE 或 LINK 之一。
此方法只用於拖放傳輸。isDrop() 為 false 時調用此方法將導致 IllegalStateException。
dropAction - 放置動作
IllegalStateException - 如果此 TransferSupport 不是一個放置操作
IllegalArgumentException - 如果指定了無效的動作getDropAction(),
getUserDropAction(),
getSourceDropActions(),
isDroppublic int getDropAction()
TransferSupport 表示放置操作時,返回為其選擇的動作。
除非通過 setDropAction 顯式地選擇,否則此方法返回 getUserDropAction 提供的使用者放置動作。
可以使用 TransferHandler 的 importData 方法查詢此動作,以便根據該動作自定義處理方法。
此方法只用於拖放傳輸。isDrop() 為 false 時調用此方法將導致 IllegalStateException。
setDropAction(int),
getUserDropAction(),
isDroppublic int getUserDropAction()
TransferSupport 表示一個放置操作時,返回其使用者放置動作。
根據 DropTargetDragEvent 和 DropTargetDropEvent 文檔中的描述,為放置操作選擇使用者放置動作。通過 setDropAction 方法,可以選擇不同的動作作為放置動作。
當要確定放置操作的適合性或者對顯式地選擇放置動作作決定的時候,可以使用 TransferHandler 的 canImport 方法查詢此動作。
此方法只用於拖放傳輸。isDrop() 為 false 時調用此方法將導致 IllegalStateException。
IllegalStateException - 如果此 TransferSupport 不是一個放置操作setDropAction(int),
getDropAction(),
isDroppublic int getSourceDropActions()
TransferSupport 表示放置操作時,返回拖動源受支持的放置動作。
源動作表示此傳輸的源所支持的動作集合,並表示為 COPY、MOVE 和 LINK 的某個按位或組合。當要確定放置操作的適合性或者對顯式地選擇放置動作作決定的時候,可以使用 TransferHandler 的 canImport 方法查詢此動作。要確定源是否支持指定動作,可以將該動作與源放置動作進行按位加,然後將結果與初始動作進行比較。例如:
boolean copySupported = (COPY & getSourceDropActions()) == COPY;
此方法只用於拖放傳輸。isDrop() 為 false 時調用此方法將導致 IllegalStateException。
IllegalStateException - 如果此 TransferSupport 不是一個放置操作isDroppublic DataFlavor[] getDataFlavors()
public boolean isDataFlavorSupported(DataFlavor df)
df - 要測試的 DataFlavor
public Transferable getTransferable()
Transferable。
註:除非有必要直接獲取 Transferable,否則使用此類別的其他方法之一查詢傳輸。這可能比直接獲取 Transferable 並詢問它執行得更好。
Transferable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。