文档

Java™教程
隐藏目录
设置拖放模式
路径: 使用Swing创建GUI
课程: 拖放和数据传输

设置拖放模式

当启用组件的拖放功能时,例如列表,您需要决定如何解释拖放位置。例如,您想限制用户只能替换现有条目吗?您只想允许添加或插入新条目吗?您希望两者都允许吗?为了配置此行为,JList类提供了setDropMode方法,支持以下拖放模式。

JTree类提供了相同的拖放模式JTable类则提供了更多特定于添加行或列的模式

为了获取拖放位置,TransferSupport类提供了getDropLocation方法,返回拖放发生的精确点。但对于列表组件,索引比像素位置更有用,因此JList提供了一个特殊的子类,称为JList.DropLocation。该类提供了getIndexisInsert方法,为您处理了数学计算。

表格、树和文本组件都提供了实现DropLocation的方法,每个组件的方法都根据其最合适的方式实现。其中,JTable.setDropMode 方法提供了最多的选择。下表展示了四个类的方法:

JList、JTree、JTable和JTextComponent的DropLocation方法
JList.DropLocation JTree.DropLocation JTable.DropLocation JTextComponent.DropLocation
isInsert getChildIndex isInsertRow getIndex
getIndex getPath isInsertColumn getBias
    getRow  
    getColumn  

接下来是一个演示,它实现了一个自定义的传输处理程序,用于列表组件,以便它完全参与拖放操作。


上一页: TransferSupport类
下一页: 演示 - DropDemo