Module  java.desktop
软件包  javax.swing

Class TransferHandler.TransferSupport

  • Enclosing class:
    TransferHandler


    public static final class TransferHandler.TransferSupport
    extends Object
    该类封装了剪贴板的所有相关细节或拖放传输,还允许自定义拖放体验的方面。

    此类的主要目的是提供开发人员所需的信息,以确定转移的适用性或导入其中包含的数据。 但是,它也可以在拖放过程中自定义属性的控制器,例如是否显示放置位置以及要使用的放置操作。

    开发人员通常不需要创建此类的实例。 相反,它们是由DnD实现提供的,在TransferHandler某些方法。

    从以下版本开始:
    1.6
    另请参见:
    TransferHandler.canImport(TransferHandler.TransferSupport)TransferHandler.importData(TransferHandler.TransferSupport)
    • 构造方法详细信息

      • TransferSupport

        public TransferSupport​(Component component,
                               Transferable transferable)
        为给定的组件创建一个 TransferSupport其中包含 isDrop() falseTransferable
        参数
        component - 目标组件
        transferable - 可转让
        异常
        NullPointerException - 如果任一参数是 null
    • 方法详细信息

      • isDrop

        public boolean isDrop​()
        返回此 TransferSupport是否表示放置操作。
        结果
        true如果这是一个drop操作,否则为 false
      • getComponent

        public Component getComponent​()
        返回此传输的目标组件。
        结果
        目标组件
      • getDropLocation

        public TransferHandler.DropLocation getDropLocation​()
        返回组件的当前(非null )放置位置,当此TransferSupport表示下降。

        注:对于具有内置拖放支持组件,此位置将是子类DropLocation通过该组件的返回相同类型的getDropLocation方法。

        此方法仅适用于拖放传输。 isDrop()false时调用它false导致一个IllegalStateException

        结果
        下降位置
        异常
        IllegalStateException - 如果这不是下降
        另请参见:
        isDrop()
      • setShowDropLocation

        public void setShowDropLocation​(boolean showDropLocation)
        设置丢弃位置是否应在视觉上指定用于传输 - 这必须代表一个丢弃。 这适用于在拖放操作期间适当时自动显示放置位置的组件)。 默认情况下,当放置位置只显示TransferHandler已表示可以接受这一代表的进口TransferSupport 使用此方法,您可以强制放置位置始终显示,或始终不显示。

        此方法仅适用于拖放传输。 调用它时isDrop()false导致一个IllegalStateException

        参数
        showDropLocation - 是否指示放置位置
        异常
        IllegalStateException - 如果这不是下降
        另请参见:
        isDrop()
      • setDropAction

        public void setDropAction​(int dropAction)
        将传输的放置操作设置为给定操作,而不是默认的用户放置操作。 该行动必须由源的放置动作的支持,并且必须是一个COPYMOVE或者LINK

        此方法仅适用于拖放传输。 致电isDrop()false结果是IllegalStateException

        参数
        dropAction - 删除操作
        异常
        IllegalStateException - 如果这不是下降
        IllegalArgumentException - 如果指定了无效操作
        另请参见:
        getDropAction()getUserDropAction()getSourceDropActions()isDrop()
      • getDropAction

        public int getDropAction​()
        返回为下降选择的操作,当此TransferSupport表示下降。

        除非通过setDropAction明确选择,否则返回由getUserDropAction提供的用户删除操作。

        您可能希望在TransferHandlerimportData方法中查询,以根据操作自定义处理。

        此方法仅适用于拖放传输。 致电isDrop()false结果是IllegalStateException

        结果
        为下降选择的动作
        异常
        IllegalStateException - 如果这不是下降
        另请参见:
        setDropAction(int)getUserDropAction()isDrop()
      • getUserDropAction

        public int getUserDropAction​()
        返回drop的用户drop操作,当此TransferSupport表示一个下降。

        按照DropTargetDragEventDropTargetDropEvent的说明文件所述选择用户删除操作。 可以通过setDropAction方法选择不同的动作作为放置动作。

        您可能希望在确定下降的适用性或决定明确选择的下降操作时,在TransferHandlercanImport进行查询。

        此方法仅适用于拖放传输。 打电话给isDrop()false结果是IllegalStateException

        结果
        用户放下动作
        异常
        IllegalStateException - 如果这不是一个下降
        另请参见:
        setDropAction(int)getDropAction()isDrop()
      • getSourceDropActions

        public int getSourceDropActions​()
        当这个TransferSupport代表下降时,返回拖动源支持的放置操作。

        源操作表示该集合由该传送源支持的动作,和被表示为一些按位或组合的COPYMOVELINK 您可能希望在TransferHandlercanImport方法中查询,当确定一个drop的适用性时,或者在决定一个drop action来明确选择时。 要确定源是否支持特定操作,按位和与源放置操作的操作,然后将结果与原始操作进行比较。 例如:

          boolean copySupported = (COPY & getSourceDropActions()) == COPY; 

        此方法仅适用于拖放传输。 致电isDrop()false结果是IllegalStateException

        结果
        拖动源支持的放置操作
        异常
        IllegalStateException - 如果这不是下降
        另请参见:
        isDrop()
      • getDataFlavors

        public DataFlavor[] getDataFlavors​()
        返回此传输的数据风格。
        结果
        这种传输的数据风格
      • isDataFlavorSupported

        public boolean isDataFlavorSupported​(DataFlavor df)
        返回是否支持给定的数据风格。
        参数
        df - DataFlavor要测试
        结果
        是否支持给定的味道。
      • getTransferable

        public Transferable getTransferable​()
        返回与此传输相关联的Transferable

        注意:除非有必要直接提取Transferable ,否则请使用本课程中的其他方法之一查询转移。 这可能比获取Transferable并直接询问更好。

        结果
        Transferable与此转移有关