Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在GWT中实现拖放列表的最佳方法_Java_Gwt - Fatal编程技术网

Java 在GWT中实现拖放列表的最佳方法

Java 在GWT中实现拖放列表的最佳方法,java,gwt,Java,Gwt,我希望实现一个简单的列表,通过拖放对列表进行重新排序。然而,我可能想在我的CMS中添加更多的DnD功能在未来太 我在搜索中遇到了3个选项 Google Web Toolkit(GWT)的拖放库- GwtQuery插件存储库- GWT2.4机制 由于GWT经过多年的发展,我发现了很多关于实现DnD的老文章,我想知道目前在GWT(2.5)中实现DnD的最佳方法是什么?如果您现在已经清除了清单,您可以通过坚持GWT 2.4特性支持来保持简单 1) 它肯定会比任何其他第三方的东西都快 2) 如果遇到

我希望实现一个简单的列表,通过拖放对列表进行重新排序。然而,我可能想在我的CMS中添加更多的DnD功能在未来太

我在搜索中遇到了3个选项

  • Google Web Toolkit(GWT)的拖放库-
  • GwtQuery插件存储库-
  • GWT2.4机制

由于GWT经过多年的发展,我发现了很多关于实现DnD的老文章,我想知道目前在GWT(2.5)中实现DnD的最佳方法是什么?

如果您现在已经清除了清单,您可以通过坚持GWT 2.4特性支持来保持简单

1) 它肯定会比任何其他第三方的东西都快

2) 如果遇到bug,您可以随时轻松地更新到最新的GWT,而不是等待第三方更新


3) 如果你真的需要一些额外的功能,那么你可以尝试其他两个选项。它们得到了很好的维护,并随着GWT的发展而演变。您只需要确保完成性能分析以覆盖您的用例。

如果您可以使用GWT中实现的“本机”支持,我建议您坚持这一点

优点:

  • 速度快,无需额外的库要求
问题

  • 功能有限(受HTML5本机特性限制)
  • 浏览器支持有限(-如果需要)
我使用的是一个复杂的UI,其中有很多浮动窗口/面板(类似于桌面环境)。 如果您受到HTML5功能或浏览器支持的限制,我建议您使用它。

我建议使用。它支持许多开箱即用的dnd特性,还支持带有单元格小部件的dnd


检查示例:

您知道吗?它很简单,有很好的文档记录,而且很好。在JavaDocs中有一件事让我担心:)**实验性API:该API仍在开发中*并且可能会发生更改。*

同意。这有点冒险。您可以通过在代码中编写一层薄薄的包装器来缓解这种情况,以隐藏您正在使用的拖放支持,使其不受代码其余部分和使用api的任何其他主体的影响。密切监视gwt贡献者小组讨论和gwt源代码,查看其中的任何进展或不足。由于它是一个内部CMS,我们基本上可以指定浏览器。还有什么限制?在目标区域添加/拖动新元素时,我需要调整/重新定位一些DOM元素的大小。这是不可能的,因为HTML5通过传递数据(event.dataTransfer)来工作。DnD的js库帮助了我,因为这些直接与DOM节点交互(实际上在拖动事件期间移动元素。-这就是为什么这比HTML5慢的原因)。想象一下,通过嵌套的SplitLayoutPannels构建一个复杂的仪表板,该仪表板根据拖动悬停位置自动计算元素的位置