JAVA DND 在官方是这样解释的
//--------------------------------------------------------------------
Introduction to DnD
If you are writing an application you will want to support the ability to transfer information between components in your application. But you will also want your application to play well with others — this includes supporting the ability to transfer information between your application and other Java applications, and between your application and native applications. The ability to transfer data takes two forms
//--------------------------------------------------------------------
java dnd 主要是实现时间的拖放。
在此过程中主要实现:
import java.awt.dnd.*;
下面的:
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DragSourceListener;
同时还有javax.swing.×;下面TransferHandler
javax.swing.TransferHandler
javax.swing.TransferHandler
它有两个构造函数:
TransferHandler() 子类的便捷构造方法。
TransferHandler(String property) 构造一个通过剪贴板或拖放操作可以将 Java Bean 属性从一个组件传输到另一个组件的传输处理程序。
如,JLabel和JTextField都有text这个属性,所以可以很简单地实现从JTextField里拖文本到JLabel里,改变它的文本.下面是一个例子
在textField里输入文本后,往label里拖,label的文本就变为textField里的文本了.如果要实现从label往textField里拖。
package com.mocake.awt.dnd;
import java.awt.*;
import javax.swing.*;
public class LabelDnd {
private javax.swing.JFrame mainFrame;
private javax.swing.JPanel mainPanel;
private javax.swing.JLabel label;
private javax.swing.JTextField textField;
public LabelDnd() {
mainFrame = new JFrame();
mainPanel = new JPanel(new BorderLayout());
label = new JLabel("label");
label.setTransferHandler(new TransferHandler("text"));
textField = new JTextField(20);
textField.setDragEnabled(true);
mainPanel.add(label, BorderLayout.PAGE_START);
mainPanel.add(textField, BorderLayout.PAGE_END);
mainFrame.getContentPane().add(mainPanel);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.pack();
/*setLocationRelativeTo 设置窗口相对于指定组件的位置。
如果组件当前未显示,或者 c 为 null,则此窗口将置于屏幕的中央。中点可以使用 GraphicsEnvironment.getCenterPoint 确定。
如果该组件的底部在屏幕外,则将该窗口放置在 Component 最接近窗口中心的一侧。因此,如果 Component 在屏幕的右部,则 Window 将被放置在左部,反之亦然。
*/
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible(true);
}
public static void main(String args[]) {
new LabelDnd();
}
}
分享到:
相关推荐
为了满足这一需求,Java提供了`java.awt.dnd`包,使得开发者能够为Java程序添加拖放支持。 #### 二、拖放的基础概念 ##### 1. 什么是拖放? 拖放是一种图形用户界面(GUI)中的操作行为,用户通过按下鼠标按钮来...
4. **Java DnD(Drag and Drop)和数据传输** - 第3题涉及到了Java的拖放(Drag and Drop)功能,这是Java AWT和Swing的一部分,允许用户通过拖动鼠标在GUI元素之间传递数据。 - 题目描述了创建一个窗口,其中包含...
java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image java.awt.image.renderable java.awt.print java.beans java.beans.beancontext java.io java....
名源基于Java的DnD NPC名称生成器DnD NPC名称生成器用于NPC的简单的基于Javascript的名称生成器。 生成以下种族的名称: 人类小精灵矮人比赛的名称存储在以下数组中人-humanNames.js矮人-dwarfNames.js精灵-elfNames...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
在Java编程领域,拖放(Drag and Drop,简称DnD)功能是一项常见的用户界面交互技术,它允许用户通过鼠标或其他输入设备将一个对象从一处拖放到另一处,以完成数据转移或操作执行。在本项目"DragDrop.rar"中,开发者...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
Swing组件的拖放(Drag and Drop, DnD)功能是Java GUI编程中的一个重要特性,它允许用户通过直观的拖动操作在组件之间传递数据。深入理解Swing的DnD机制对于创建用户友好、交互性强的应用程序至关重要。本文将详细...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
Java.awt.dnd包支持拖放操作,增强了用户与GUI组件之间的交互体验。 #### Java.awt.event Java.awt.event包包含了处理各种事件(如鼠标点击、键盘输入)的接口和类,是实现响应式GUI的关键。 #### Java.awt.font ...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
一大堆java基础类的小例子 java.applet [8 examples] java.awt [78 examples] java.awt.datatransfer [3 examples] java.awt.dnd [3 examples] java.awt.event [8 examples] java.awt.font ...
java开发帮助文档, java.applet 提供创建 ...java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。
Java 提供了java.awt.dnd 和java.awt.datatransfer 包来支持该功能。如效果截图所示。当在窗口上部的“Hello World1标签点下鼠标,并拖至窗口下部的文本框放开,则在文本框中将添加“Hello World 1文本;继续上述...
10. **组件拖放(DnD)**:Swing 提供了拖放功能,使用户能够通过简单的拖动操作来移动或复制组件。 了解并熟练掌握这些知识点,将有助于你创建出功能强大且美观的Java Swing应用。通过不断实践和学习,你可以在Java ...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
在Java编程领域,GridViewDragDrop是一个关于如何实现拖放功能(Drag and Drop)在...通过这个项目,你可以深入研究Swing组件的内部工作原理,以及Java DnD API的使用,这对任何Java GUI开发者来说都是一笔宝贵的财富。