我正在研究 Java、SmartGWT 2.5 和 Mozilla FF 3.6.x。我在我的应用程序中使用 Tree、TreeGrid 和 TreeNode。我有这些事件:
addDragMoveHandler(new DragMoveHandler() {
@Override
public void onDragMove(DragMoveEvent event) {
// this is the Node which is moving to other parent
// it's parent is instance of PageFolder
Node movingNode = (Node) getSelectedRecord();
}
});
和
addRowHoverHandler(new RowHoverHandler() {
@Override
public void onRowHover(RowHoverEvent event) {
Node _node = (Node) event.getRecord();
if (_node.getModel() instanceof PageFolder) {
// this _node can be the parent of the moving node
// and it will change it's color using it's attribute in getBaseStyle
_node.setAttribute("canBeParent", true);
}
}
});
我想在 onDragMove 中触发 onRowHover,因为像这样首先调用 onDragMove,完成后调用 onRowHover。如果节点可以是拖动节点的父节点,则应立即突出显示,而不是在将节点拖放到其中时。还有 onDragStart 和 onFolderDroped 事件。但我喜欢只使 onRowHover 和 onDragMove 同步。