默认 DnD 支持

从技术上讲,拖放框架支持所有 Swing 组件-每个JComponent都内置了数据传输机制。如果需要,您可以为JSlider实现拖放支持,以便它可以完全参与数据传输。虽然JSlider默认情况下不支持拖放,但是您希望(并希望)支持拖放的组件确实提供了专门的内置支持。

在组件上调用setDragEnabled(true)方法后,以下组件将识别拖动手势。例如,一旦调用myColorChooser.setDragEnabled(true),就可以从颜色 selectors 中拖动颜色:

  • JColorChooser

  • JEditorPane

  • JFileChooser

  • JFormattedTextField

  • JList

  • JTable

  • JTextArea

  • JTextField

  • JTextPane

  • JTree

以下组件支持立即可用。如果您正在使用这些组件之一,那么您的工作就完成了。

  • JEditorPane

  • JFormattedTextField

  • JPasswordField

  • JTextArea

  • JTextField

  • JTextPane

  • JColorChooser

drop 框架适用于以下组件,但是您需要插入少量代码来定制对您的需求的支持。

  • JList

  • JTable

  • JTree

对于这些关键组件,Swing 执行放置位置的计算和渲染。它允许您指定放置 Pattern;并处理特定于组件的详细信息,例如树扩展。您的工作量很小。

Note:

您还可以在顶级容器(例如JFrameJDialog)上安装拖放支持。您可以在Top-Level Drop中了解有关此内容的更多信息。