默认 DnD 支持
原文: https://docs.oracle.com/javase/tutorial/uiswing/dnd/defaultsupport.html
从技术上讲,拖放框架支持所有 Swing 组件 - 数据传输机制内置于每个JComponent
。如果需要,可以为JSlider
实现 drop 支持,以便它可以完全参与数据传输。虽然默认情况下JSlider
不支持 drop,但您希望(并期望)支持拖放的组件确实提供了专门的内置支持。
一旦在组件上调用setDragEnabled(true)
方法,以下组件就会识别拖动手势。例如,一旦调用myColorChooser.setDragEnabled(true)
,您可以从颜色选择器中拖动颜色:
JColorChooser
JEditorPane
JFileChooser
JFormattedTextField
JList
JTable
JTextArea
JTextField
JTextPane
JTree
以下组件支持开箱即用。如果您使用其中一个组件,您的工作就完成了。
JEditorPane
JFormattedTextField
JPasswordField
JTextArea
JTextField
JTextPane
JColorChooser
drop 的框架适用于以下组件,但您需要插入少量代码来自定义对您的需求的支持。
JList
JTable
JTree
对于这些关键组件,Swing 执行放置位置计算和渲染;它允许您指定放置模式;它处理组件特定的细节,例如树扩展。你的工作相当少。
Note:
您还可以在顶级容器上安装 drop 支持,例如JFrame
和JDialog
。您可以在顶级掉落中了解更多相关信息。