【问题标题】:GWT DnD: Keep draggable within an AbsolutePanelGWT DnD:在 AbsolutePanel 内保持可拖动
【发布时间】:2009-08-20 07:50:00
【问题描述】:

我使用 GWT 和 gwt-dnd 插件制作了一个 MultiSlider 小部件来对文本进行评分。在屏幕截图中,您可以看到将值为 50 的滑块按钮拖到滑块栏外。不能拖到栏外,但可以拖到栏外。

alt text http://lt3.hogent.be/hendi_docs/stackoverflow/gwt-dnd-multislider.png

GWT 中是否有办法始终将滑块按钮保留在滑块栏内?

编辑:

滑块是一个AbsolutePanel,也是滑块按钮的唯一放置目标。滑块面板也是放置控制器的边界面板。不能拖放到条形面板之外,但可以拖动。

现在我真正想知道的是是否可以将鼠标指针保持在栏面板上。如果一个按钮被拖出它,它会在放下时保持在原来的位置(所以没关系)。是否可以只允许垂直拖动?拖动时可以设置鼠标位置吗?

【问题讨论】:

    标签: gwt widget drag-and-drop


    【解决方案1】:

    我用过dragController.setConstrainWidgetToBoundaryPanel(true),我认为dragController.setBehaviorConstrainedToBoundaryPanel(true) 做同样的事情。如需更多信息,请查看javadoc for your version

    【讨论】:

    • 滑块在被放下后保持在栏中。我希望滑块按钮在拖动时留在栏内。可以例如鼠标X位置设置好了吗?
    • 对不起,我使用了周围的面板作为边界面板。您的解决方案现在有效。谢谢!
    【解决方案2】:

    您要查找的方法在 AbstractDragController 中使用此签名定义; void setBehaviorConstrainedToBoundaryPanel(boolean constrainedToBoundaryPanel);

    在这种情况下,边界面板(通常在第一个参数中传递给拖动控制器构造函数)应该是一个包裹滑块的 AbsolutePanel。

    如果事情没有按预期工作,可视化绝对面板也可能会有所帮助: absolutePanel.getElement().getStyle().setProperty("border", "1px dashed red");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多