0

因此问题是:我在 JScrollPane 中有一个稍微修改过的 JTable 实现。然后 JTable 注册了一个 TransferHandler 以便项目可以重新排序,并相互插入。

问题在于,一旦我们从 Java 中免费获得的拖放功能启动,滚动就无法获得适当的 MouseEvents 以使自动滚动工作。

我在 JavaDoc (http://docs.oracle.com/javase/7/docs/technotes/guides/swing/1.4/dnd.html) 上看到了对此的模糊参考。

但是我找不到一个有区别的解决方案,或者其他任何人都引用了同样的问题......那么有没有人把一些有用的知识放在那里?

4

1 回答 1

-1

此行为的原因是拖放行为以及 TransferHandler 未配置为支持自动滚动的事实。一旦启动拖放,TransferHandler 就会接管鼠标事件,这意味着 JTable 的自动滚动行为不会被执行。

文档中对此只有模糊和模糊的引用,下面提供了链接:

http://docs.oracle.com/javase/7/docs/technotes/guides/swing/1.4/dnd.html (关键字:BasicDropTargetListener)

http://www.mpi-inf.mpg.de/departments/d5/teaching/ss05/is05/javadoc/javax/swing/plaf/basic/BasicDropTargetListener.html

于 2013-01-07T06:08:48.513 回答