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拖放事件的教程
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.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开发帮助文档, java.applet 提供创建 ...java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。
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基础类的小例子 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.awt.dnd 和java.awt.datatransfer 包来支持该功能。如效果截图所示。当在窗口上部的“Hello World1标签点下鼠标,并拖至窗口下部的文本框放开,则在文本框中将添加“Hello World 1文本;继续上述...
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
java2实用教程电子教案[1]提供创建 applet 所...java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
Java 提供了java.awt.dnd 和java.awt.datatransfer 包来支持该功能。如效果截图所示。当在窗口上部的“Hello World1标签点下鼠标,并拖至窗口下部的文本框放开,则在文本框中将添加“Hello World 1文本;继续上述...
java swing控件的drag和drop的实现方法: 主要用到java.awt.dnd.*;里面的方法,可以实现任意2个component的drag and drop.