默认 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:
您还可以在顶级容器(例如JFrame
和JDialog
)上安装拖放支持。您可以在Top-Level Drop中了解有关此内容的更多信息。