【发布时间】:2016-07-20 14:13:54
【问题描述】:
我有一个 Jtree 和一个自定义 MouseListener/MouseMotionListener 来处理触摸设备上的滚动。
我现在的问题是,当我开始拖动时,当前节点会在我按下鼠标时立即被选中。
问题: 如何在拖动鼠标时禁用自动选择(当我点击它而不拖动时应该选择它)。
我的 DragscrollListener 中的 clicked 和 pressed 函数是空的。
注意:
我还没有编写 DragScrollListener 的代码 - 可以找到 here
示例代码:
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
public class Test extends JFrame{
public Test(){
JTree tree = new JTree();
JScrollPane pane = new JScrollPane(tree);
DragScrollListener ds = new DragScrollListener(tree);
tree.addMouseListener(ds);
tree.addMouseMotionListener(ds);
getContentPane().add(pane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
this.setSize(100,100);
}
public static void main(String[]arghs){
new Test();
}
}
【问题讨论】:
-
1) 请参阅Detection/fix for the hanging close bracket of a code block 了解我无法再费心修复的问题。 2) 为了尽快获得更好的帮助,请发布minimal reproducible example 或Short, Self Contained, Correct Example。上述代码需要使其成为 MCVE 的第一件事是
DragScrollListener!
标签: java swing drag-and-drop jtree mouselistener