亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JTree之間的drag/drop

2019-11-18 14:06:36
字體:
來源:轉載
供稿:網友

  關于JTree 之間的drag/drop一直找不到合適的方法?,F通過鼠標事件的相應實現了該過程。希望和大家一起學習。

源碼如下:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import javax.swing.tree.*;


public class DragDropTree implements MouseMotionListener,MouseListener, DragGestureListener,DragSourceListener
{


PRivate JTree tree1=null;
private JTree tree2=null;
Object lastNode;
Vector vet=new Vector();
TreeSelectionModel selectionModel=tree1.getSelectionModel();
Vector vetnew=new Vector();
private boolean drag=false;

public DragDropTree(JTree t1,JTree t2)
{
tree1=t1;
tree2=t2;
DragSource dragSource = DragSource.getDefaultDragSource();
dragSource.createDefaultDragGestureRecognizer(
tree1, // component where drag originates
DnDConstants.ACTION_COPY_OR_MOVE, // actions
this); // drag gesture recognizer
dragSource.createDefaultDragGestureRecognizer(
tree2, // component where drag originates
DnDConstants.ACTION_COPY_OR_MOVE, // actions
this); // drag gesture recognizer
tree1.addMouseMotionListener(this);
tree1.addMouseListener(this);
tree2.addMouseMotionListener(this);
tree2.addMouseListener(this);
}




public void mouseEntered(MouseEvent e)
{

JTree selecttree=(JTree)e.getSource();
TreePath path=selecttree.getPathForLocation(e.getX(), e.getY());
if(path!=null)
{
if(drag&vet!=null)
{
drag=false;
String str=path.getPathComponent(1).toString();

MutableTreeNode parent,node=(MutableTreeNode)path.getLastPathComponent();
if(node.isLeaf())
parent=(MutableTreeNode)node.getParent();
else
parent=node;
int index=parent.getIndex(node)+1;
System.out.println("now node is in "+index+"level");

DefaultTreeModel model=(DefaultTreeModel)tree2.getModel();

int j=0;
while(j<vet.size())
{
String ss=vet.elementAt(j).toString();
MutableTreeNode newnode=new DefaultMutableTreeNode(ss);
model.insertNodeInto(newnode,parent,index);
j++;
}
vet=null;
vet=new Vector();
}
else;

}
else;



}



public void mouseDragged(MouseEvent e){
drag=true;
if(selectionModel!=null)selectionModel.clearSelection();

}



public void mouseMoved(MouseEvent e){}

public void mouseClicked(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mousePressed(MouseEvent e)
{

lastNode=null;
if(e.getClickCount()==1)
{
TreePath path=tree1.getPathForLocation(e.getX(), e.getY());

if(path!=null){
TreeNode node=(TreeNode)path.getLastPathComponent();
if(node.isLeaf())
{
lastNode=(MutableTreeNode)path.getLastPathComponent();
TreeSelectionModel selectionModel=tree1.getSelectionModel();
int a=selectionModel.getSelectionCount();
System.out.println("node is :"+a);
if(a>1)
{

if(vetnew!=null){
System.out.println(vetnew.size()+"have so mUCh path");
for(int n=0;n<vetnew.size();n++)
{
TreePath p=(TreePath)vetnew.get(n);
System.out.println(p);
if(p==path)path=null;
}
}
if(path!=null)

{
vet.addElement(lastNode);
vetnew.addElement(path);
}
}
else
{
if(vet!=null)
{
vet.removeAllElements();
vet.addElement(lastNode);
}
if(vetnew!=null)
{
vetnew.removeAllElements();
vetnew.addElement(path);
}
}


}
else
JOptionPane.showMessageDialog(this,"please select a leaf node!");
}
}


}
public void mouseReleased(MouseEvent e){}


public void dragGestureRecognized(DragGestureEvent e) {
// drag anything ...
e.startDrag(DragSource.DefaultCopyDrop, // cursor
new StringSelection("drag well"), // transferable
this); // drag source listener
drag=true;
}
public void dragDropEnd(DragSourceDropEvent e) {}
public void dragEnter(DragSourceDragEvent e) {}
public void dragExit(DragSourceEvent e) {}
public void dragOver(DragSourceDragEvent e) {}
public void dropActionChanged(DragSourceDragEvent e) {}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频视频在线| 亚洲日韩中文字幕在线播放| 丰满岳妇乱一区二区三区| 疯狂做受xxxx高潮欧美日本| 92国产精品久久久久首页| 色综合色综合久久综合频道88| 精品国产91久久久久久| 精品久久久久久中文字幕大豆网| 国模精品视频一区二区三区| 日韩一区二区精品视频| 91久久久久久国产精品| 日本aⅴ大伊香蕉精品视频| 亚洲精品乱码久久久久久金桔影视| 亚洲精品国产综合久久| 97人人爽人人喊人人模波多| 青草青草久热精品视频在线观看| 欧美一性一乱一交一视频| 久久精品成人一区二区三区| 性色av一区二区三区红粉影视| 欧美国产日韩中文字幕在线| 欧美午夜精品久久久久久浪潮| 国产日韩亚洲欧美| 动漫精品一区二区| 国产免费一区视频观看免费| 粗暴蹂躏中文一区二区三区| 乱亲女秽乱长久久久| 久久福利视频网| 欧美怡红院视频一区二区三区| 激情久久av一区av二区av三区| 中文字幕一区电影| 欧美色另类天堂2015| 在线观看欧美成人| 欧美黄色片视频| 激情av一区二区| 久久精品国产成人精品| 国内揄拍国内精品少妇国语| 日韩精品在线播放| 日韩av黄色在线观看| 91久久精品久久国产性色也91| 色偷偷噜噜噜亚洲男人的天堂| www.欧美视频| 91久久国产综合久久91精品网站| 日韩av在线高清| 亚洲精品美女久久| 国产精品国产自产拍高清av水多| 精品久久久久久久久久久久久| 亚洲欧美精品伊人久久| 日韩av第一页| 日韩有码在线电影| 国产精品99久久久久久久久久久久| 欧美日韩在线免费| 丝袜一区二区三区| 高清在线视频日韩欧美| 欧美孕妇毛茸茸xxxx| 日韩av电影手机在线| 色狠狠av一区二区三区香蕉蜜桃| 91在线观看免费网站| 亚洲国产精品小视频| 亚洲国产精品女人久久久| 欧美成人午夜剧场免费观看| 狠狠躁夜夜躁久久躁别揉| 黑人极品videos精品欧美裸| 国产精品福利在线观看网址| 国产精品欧美日韩久久| 亚洲国产私拍精品国模在线观看| 欧美野外wwwxxx| 中文字幕亚洲一区二区三区五十路| 日韩av免费在线| 久久艳片www.17c.com| 亚洲bt天天射| 成人激情视频在线观看| 国自在线精品视频| 日韩美女在线观看| 亚洲精品国产精品国自产观看浪潮| 国产伦精品免费视频| 亚洲天堂av网| 欧美精品久久久久久久免费观看| 在线看国产精品| 国产欧美亚洲精品| 亚洲成人三级在线| 秋霞成人午夜鲁丝一区二区三区| 欧美一级片一区| 这里只有精品丝袜| 亚洲午夜精品久久久久久久久久久久| 中文字幕精品一区久久久久| 国产伦精品免费视频| 成人av在线亚洲| 国产欧美日韩丝袜精品一区| 777午夜精品福利在线观看| 成人午夜激情免费视频| 日韩av中文字幕在线播放| 国产欧美日韩丝袜精品一区| 亚洲码在线观看| 欧美日韩免费看| 国产成人精品最新| 国产日韩精品一区二区| 亚洲色图25p| 欧美亚洲国产日本| 性欧美长视频免费观看不卡| 亚洲人a成www在线影院| 亚洲一区二区三区sesese| 日韩av网站在线| 亚洲一区www| 国产激情综合五月久久| 亚洲成人激情小说| 亚洲激情中文字幕| 亚洲成色www8888| 欧美另类xxx| 欧美国产精品日韩| 国产精品com| 国产精品十八以下禁看| 日本高清+成人网在线观看| 亚洲精品综合精品自拍| 欧美精品久久久久久久免费观看| 欧美视频一二三| 98精品国产自产在线观看| 欧美精品免费在线观看| 久久精品视频一| 国产精欧美一区二区三区| 欧美黑人一级爽快片淫片高清| 国产精品女人久久久久久| 欧美性生交大片免网| 亚洲精品一区二区在线| 蜜臀久久99精品久久久久久宅男| 永久免费精品影视网站| 国产亚洲免费的视频看| 久久成年人视频| 在线观看日韩视频| 亚洲欧美综合精品久久成人| 在线观看国产成人av片| 亚洲一区二区在线播放| 在线精品高清中文字幕| 国产精品第3页| 亚洲一区二区在线| 欧美日韩国产丝袜另类| 久久久伊人日本| 国产精品日韩在线播放| 色综合天天狠天天透天天伊人| 亚洲国产精品免费| 久久久久北条麻妃免费看| 日韩免费av一区二区| 国产日韩中文在线| 国产欧美日韩中文字幕在线| 欧美国产日韩免费| 午夜精品一区二区三区在线视| 国产v综合ⅴ日韩v欧美大片| 色偷偷9999www| 国产成人亚洲综合青青| 成人欧美一区二区三区黑人| 欧美日韩精品中文字幕| 一本色道久久88亚洲综合88| 国产成人综合av| 欧美成人精品影院| 国产一区深夜福利| 成人网中文字幕| 亚洲精品按摩视频| 欧美激情乱人伦| 亚洲精品乱码久久久久久金桔影视| 91精品国产九九九久久久亚洲| 精品亚洲国产成av人片传媒| 最近中文字幕mv在线一区二区三区四区| 亚洲精品自拍视频| 在线观看日韩视频| 亚洲经典中文字幕|