这些Java教程是为JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,可能使用不再可用的技术。
请参阅Java语言变化以获取Java SE 9及其后续版本中更新的语言特性的摘要。
请参阅JDK发布说明以获取所有JDK版本的新功能、增强功能和已删除或已弃用选项的信息。
如果您正在编写一个应用程序,您将希望支持在应用程序组件之间传输信息的能力。但您也希望您的应用程序与其他应用程序配合得好 - 这包括支持在您的应用程序和其他Java应用程序之间以及在您的应用程序和本地应用程序之间传输信息的能力。传输数据的能力有两种形式:
JList
拖放到JTextField
组件的过程(箭头显示了数据的路径):
JList
剪切(或复制)并粘贴到JTextField
组件的过程:
假设有一个名为Rollo的用户正在运行一个Java应用程序。他想从列表中拖动一些文本并将其放置到文本字段中。(请注意,从本地应用程序拖放到Java应用程序时,过程是相同的。)简而言之,拖放过程的工作方式如下:
COPY
,MOVE
或LINK
。MOVE
操作。在拖动时按住Control键请求COPY
操作,同时按住Shift和Control请求LINK
操作。虽然这可能看起来是一个令人生畏的过程,但Swing会为您处理大部分工作。该框架的设计使您可以插入特定于组件的详细信息,而其余的部分 "只是工作 "。
下一节将详细介绍。
我们不建议使用AWT类创建自己的拖放支持。此实现将需要每个组件内部的大量复杂支持。在1.4版本发布之前,在dnd系统重新设计之前,开发人员偶尔会创建自己的dnd支持,但它无法与具有细微选择和拖放问题的复杂组件(如树和表)一起使用。