两个JTree之间的单向拖拽

转自:http://blog.csdn.net/awaysrain/services/trackbacks/18402.aspx

两个JTree之间的单向拖拽<script language="javascript" type="text/javascript"> document.title="两个JTree之间的单向拖拽 - "+document.title </script>

最近因为在一个项目中要实现JTree之间的拖拽,刚刚学习开始学习Java,参照网上的代码完成的,现在贴出来共享,希望对和我一样的菜鸟有点帮助,有什么错误的话还请多多指正。

DragSourceTree.java


package aabbcc;

import javax.swing.JTree;
import java.awt.dnd.DragGestureListener;
import java.awt.dnd.DragSourceListener;
import java.awt.dnd.DragSourceDragEvent;
import java.awt.dnd.DragSourceEvent;
import java.awt.dnd.DragSourceDropEvent;
import java.awt.dnd.DragGestureEvent;
import java.awt.dnd.DragSource;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.datatransfer.StringSelection;

/**
 * <p>Title: JTree之间的拖拽中的DragSourceTree</p>
 * <p>Description:通过向从“源树”中拖拽结点在目标树中重新构造一棵树,实现JTree之间的拖拽单向拖拽,这个类是“源树”。 </p>
 * @author awaysrain(绝对零度)
 * @version 1.0
 */

public class DragSourceTree
    extends JTree
    implements DragGestureListener, DragSourceListener {
  private DragSource dragSource = null;
  /**
   * Construct the source tree
   */
  public DragSourceTree() {
    super();
    dragSource = DragSource.getDefaultDragSource();
    dragSource.createDefaultDragGestureRecognizer(this,
                                                  java.awt.dnd.DnDConstants.
                                                  ACTION_COPY_OR_MOVE, this);
  }
  /**
   * Construct the source tree
   * @param treeNode DefaultMutableTreeNode
   */
  public DragSourceTree(DefaultMutableTreeNode treeNode) {
    super(treeNode);
    dragSource = DragSource.getDefaultDragSource();
    dragSource.createDefaultDragGestureRecognizer(this,
                                                  java.awt.dnd.DnDConstants.
                                                  ACTION_COPY_OR_MOVE, this);
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值