最近想用java的swing实现一个功能,实现为一个序列a和另一个序列b建立映射关系。具体步骤是希望在一个图形界面中吧序列a和序列b分别用list或者一个标签序列罗列出来用鼠标点击序列a上一个元素,拖动到序列b的一个元素上,这两个元素的映射关系就被记录下来了。请问这样的功能怎么实现。最好给出关键的代码,初学swing不是很懂。。百度了一下好像都是讲怎么拖动文件的。。
万分感激
这个我自己也略百度了一下,但是具体实现还是出现一些问题,
我的问题是,比如我构造一个jlist
然后jlist.setDragEnabled(true)
再然后我new DropTarget(jlist, DnDConstants.ACTION_COPY, DropTargetListener);
DropTargetListener里面重写public void drop(DropTargetDropEvent dtde)
那我怎么从dtde里面获得【我从哪里来】和【我被拖到了哪里去】这两个问题呢?还是我的思路有问题?
我从dtde.getResorce()里面只能获得我的jlist对象,不能知道【我从list里的哪一项被拖进来】
可能我没有表达清楚我的困惑,你说的我也稍微了解过,见问题补充
追答你在DropTargetListener中把各个DataFlavor打印处理看看:
public void drop(DropTargetDropEvent dtde) {如果上面的还是不行,就用setTransferHandler设置个自定义的TransferHandler的。
追问嗯嗯,挺有帮助的,谢谢啦,分数给了