gpt4 book ai didi

GWT 拖放树项

转载 作者:行者123 更新时间:2023-12-03 17:54:04 25 4
gpt4 key购买 nike

我正在创建一个树,用户可以使用 gwt-dnd 通过将一个 TreeItem 拖放到另一个 TreeItem 来移动 TreeItem。图书馆。我读过我应该为每个 TreeItem 设置一个小部件并使该小部件可拖动和一个 dropTarget。到目前为止,即使只是拖动 TreeItem,我也没有取得任何成功。我还收到一个“拖放未处理的异常”。我至少朝着正确的方向前进,还是有更好的方法来做到这一点?任何帮助是极大的赞赏!

// Create the boundary panel
AbsolutePanel main = new AbsolutePanel();
main.setSize("500px", "500px");
// Create Tree and tree root
Tree tree = new Tree();
TreeItem root = new TreeItem();
root.setText("root");
// Create Label widget and construct treeItem from Label
Label itemLabel = new Label("item1");
TreeItem item = new TreeItem(itemLabel);
// Create DragController for the main panel, and make the Label widget draggable
PickupDragController dragController = new PickupDragController(main, true);
dragController.makeDraggable(item.getWidget());
// Add everything to root panel
root.addItem(item);
tree.addItem(root);
main.add(tree);
RootPanel.get().add(main);

最佳答案

我建议使用入门指南 here .

如何为您的项目添加拖放功能

您缺少的是放置区域。有些类实现了放置 Controller ,您应该使用它们。有没有地方放下的可拖动项目是没有意义的。

您还可以通过在事件上实现逻辑(OnDropStart 等)来覆盖 dnd 的某些功能

重要的!!!不要忘记将 DropController 注册到 PickupDragController。

这是来自 dnd 站点的示例

public AbsolutePositionExample(PickupDragController dragController) {
super(dragController);
addStyleName(CSS_DEMO_ABSOLUTE_POSITION_EXAMPLE);

// use the drop target as this composite's widget
AbsolutePanel positioningDropTarget = new AbsolutePanel();
positioningDropTarget.setPixelSize(400, 200);
setWidget(positioningDropTarget);

// instantiate our drop controller
absolutePositionDropController = new AbsolutePositionDropController(positioningDropTarget);
dragController.registerDropController(absolutePositionDropController);
}

关于GWT 拖放树项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com