Java 拖动时自动滚动-Vaadin DragDrop附加组件

Java 拖动时自动滚动-Vaadin DragDrop附加组件,java,html,css,vaadin,Java,Html,Css,Vaadin,我有一个固定位置的CssLayout,带有DDVerticalLayout子组件。我正在基于用户交互动态填充此垂直布局,以创建列表视图。当列表大于显示区域时,我遇到问题。它可以正确滚动,但拖动不会自动滚动。这会强制用户拖动、滚动、拖动、滚动、拖动 例如,如果我在列表底部选择了一个项目,而视图一次仅显示6个项目,则一次最多只能向上拖动5个空格。视图不会基于鼠标悬停自动滚动 父CssLayout与子DDVerticalLayout CSS: .list { z-index: 9999; p

我有一个固定位置的CssLayout,带有DDVerticalLayout子组件。我正在基于用户交互动态填充此垂直布局,以创建列表视图。当列表大于显示区域时,我遇到问题。它可以正确滚动,但拖动不会自动滚动。这会强制用户拖动、滚动、拖动、滚动、拖动

例如,如果我在列表底部选择了一个项目,而视图一次仅显示6个项目,则一次最多只能向上拖动5个空格。视图不会基于鼠标悬停自动滚动

父CssLayout与子DDVerticalLayout CSS:

.list {
  z-index: 9999;
  position: fixed;
  right: 1%;
  top: 20%;
  max-width: 25%;
  max-height: 70%;
  min-height: 150px;

  .v-verticallayout {
    background-color: #EEEEEE;
    overflow-y: scroll;
    overflow-x: hidden;
    display: block;
    margin-left: 6px;
    margin-right: 6px;
    max-height: 350px;
    min-height: 100px;
    border-radius: 4px;
    border: 1px solid #d5d5d5;
  }
}
CssLayout类中的DDVerticalLayout设置:

private final DDVerticalLayout layout = new DDVerticalLayout();
//...
layout.setDragMode(LayoutDragMode.CLONE);
layout.setSizeUndefined();
layout.setDropHandler(new DefaultVerticalLayoutDropHandler()     
       @Override
        protected void handleComponentReordering(DragAndDropEvent event) {
            super.handleComponentReordering(event);
            //custom code omitted
        }
    });

我将v1.3.2用于Vaadin v7.7.6。

这是一篇旧文章,但可能对其他人遇到此问题有用。 您需要将VerticalLayout包装在面板中,以便使用DNDScroll附加组件。像这样的-

Panel panel = new Panel();
panel.setContent(content);
panel.setHeight(200, Unit.PIXELS); //optional - could be setSizeFull();
PanelAutoScrollExtension extension = new PanelAutoScrollExtension();
extension.extend(panel);

这是一篇老文章,但可能对其他人遇到这个问题有用。 您需要将VerticalLayout包装在面板中,以便使用DNDScroll附加组件。像这样的-

Panel panel = new Panel();
panel.setContent(content);
panel.setHeight(200, Unit.PIXELS); //optional - could be setSizeFull();
PanelAutoScrollExtension extension = new PanelAutoScrollExtension();
extension.extend(panel);

我自己没有测试过,但也许这个有帮助?看起来这个插件只是用于表格或面板布局。我自己没有测试过,但这个可能有用吗?看起来这个插件只是用于表或面板布局。