Java教程是为JDK 8编写的。本页面中描述的示例和实践不利用后续版本引入的改进,并可能使用不再可用的技术。
有关Java SE 9和后续版本中更新的语言功能的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息,请参阅JDK发布说明。
从技术上讲,拖放框架支持所有Swing组件 - 数据传输机制内置于每个JComponent
中。如果需要,您可以为JSlider
实现拖放支持,使其能够完全参与数据传输。虽然JSlider
默认不支持拖放,但您希望(并期望)支持拖放的组件提供了专门的内置支持。
以下组件在调用setDragEnabled(true)
方法后会识别拖动手势。例如,一旦调用myColorChooser.setDragEnabled(true)
,您就可以从颜色选择器中拖动颜色:
JColorChooser
JEditorPane
JFileChooser
JFormattedTextField
JList
JTable
JTextArea
JTextField
JTextPane
JTree
以下组件默认支持放置。如果您正在使用其中之一的组件,则无需进行任何工作。
JEditorPane
JFormattedTextField
JPasswordField
JTextArea
JTextField
JTextPane
JColorChooser
对于以下组件,拖放框架已经就位,但您需要插入一小段代码以自定义支持以满足您的需求。
JList
JTable
JTree
对于这些关键组件,Swing会执行放置位置计算和渲染;它允许您指定放置模式;并处理组件特定的细节,例如树展开。您需要做的工作非常少。