gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 01:55:08 24 4
gpt4 key购买 nike

我有一个固定位置的 CssLayout 和一个 DDVerticalLayout 子组件。我根据用户交互动态填充此垂直布局以创建 ListView 。当列表变得比显示区域大时,我遇到了问题。它可以正确滚动,但拖动不会自动滚动。这迫使用户拖动、滚动、拖动、滚动、拖动...

例如,如果我选择了列表底部的一个元素,而 View 一次只显示 6 个元素,我不能一次将它向上拖动超过 5 个空格。 View 不会根据鼠标悬停自动滚动。

Scroll Example

带有子 DDVerticalLayout CSS 的父 CssLayout:

.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
}
});

我正在使用 drag and drop add-on Vaadin v7.7.6 的 v1.3.2。

最佳答案

这是一个旧帖子,但可能对遇到此问题的其他人有用。您需要将 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);

关于java - 拖动时自动滚动 - Vaadin DragDrop 附加组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42773658/

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