问题是:我在JScrollPane中有一个稍微修改过的JTable实现。然后JTable注册了一个TransferHandler,以便可以重新排序项目,并相互插入。
问题在于,一旦我们从Java中免费获得拖放功能,滚动就无法使用适当的MouseEvents进行自动滚动工作。
我在JavaDoc(http://docs.oracle.com/javase/7/docs/technotes/guides/swing/1.4/dnd.html)上看到过这种模糊的rferencs。
但是我找不到一个难以理解的解决方案,或者其他任何引用相同问题的人......所以有没有人在那里提供一些有用的知识?
答案 0 :(得分:-1)
此行为的原因是拖放行为和事实 TransferHandler未配置为支持自动滚动。 TransferHandler 一旦拖放开始就接管鼠标事件,这意味着 JTable的自动滚动行为不会被执行。
在文档链接中只有对此的模糊和含糊的引用 提供如下:
http://docs.oracle.com/javase/7/docs/technotes/guides/swing/1.4/dnd.html (keyword:BasicDropTargetListener)