- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在这里使用示例:https://gwt-dnd.appspot.com/#InsertPanelExample只有一列。
该列是一个包含许多 Widget 的 VerticalPanel。
使用 VerticalPanelDropController 我可以注册:
@Override
public void onDrop(DragContext context) {
super.onDrop(context);
final Widget widget = context.draggable;
final int newIndex = columnPanel.getWidgetIndex(widget);
}
@Override
public void onPreviewDrop(DragContext context) throws VetoDragException {
super.onPreviewDrop(context);
int newIndex = ???
}
在 onDrop() 中,我可以使用 columnPanel.getWidgetIndex(widget) 获取小部件在 columnPanel 中的新位置,但在 onPreviewDrop() 中我不能这样做,因为此时小部件不在 columnPanel 中。
如何在 onPreviewDrop() 中获取目标索引,其中放置的 Widget 应该被放到 columnPanel 中? 我想知道在插入 widget 之前应该将其插入到哪里。这样我就可以取消插入。
最佳答案
仅当拖动行时定位器小部件具有与占位符相同的结构时,以下内容才有效。
int newIndex = dropTarget.getWidgetIndex(newPositioner(context));
我使用以下代码获取正确的索引:
@Override
public void onPreviewDrop(DragContext context)
throws VetoDragException {
super.onPreviewDrop(context);
int newIndex = -1;
String positionerClass = newPositioner(context).getElement()
.getClassName();
for (int i = 0; i < dropTarget.getWidgetCount(); i++) {
String widgetClass = dropTarget.getWidget(i).getElement()
.getClassName();
if (widgetClass.equals(positionerClass)) {
newIndex = i;
}
}
};
关于java - 如何在 VerticalPanel 的 onPreviewDrop() 中获取 Widget 的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24466932/
我有一个水平面板,里面有 3 个垂直面板。在垂直面板中有自定义小部件 我需要所有垂直面板具有相同的高度(即使它们内部的小部件数量不同)并且在空白区域有一个按钮。 因此,我将所有面板的高度设置为 100
是否可以迭代 VerticalPanel 并仅获取某些小部件。 我知道您可以使用 GWT 中的字符串列表来完成此操作,但它不适用于小部件。我喜欢简短的迭代,但是如果有更长的方法,也很受欢迎。 任务:基
VerticalPanel 面板 = new VerticalPanel();panel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN
我正在尝试弄清楚如何根据需要对齐 verticalPanel 的子项。 我有一个高度为 100% 的 verticalPanel,它被添加到 splitLayoutPanel 的中心。在 vertic
我正在尝试为我的垂直面板设置一个 cellpadding 值。有一个用于设置单元间距的 API (CellPanel.setSpacing()),但没有用于设置单元间距的 API。 我该怎么做? 最佳
如何将监听器/处理程序添加到 VerticalPanel,使其成为 当 VerticalPanel 改变大小时触发? 我基本上尝试了以下内容: VerticalPanel myPanel = new
如何以编程方式将 HorizontalPanel 转换为 VerticalPanel?可能吗? 来自: 收件人: 最佳答案 下面的代码片段行得通吗? (没有 GWT 环境设置来测试它):
Google 建议使用 FlowPanel 代替 VerticalPanel,因为 VerticalPanel 在标准模式 ( http://www.gwtproject.org/doc/latest
我在这里使用示例:https://gwt-dnd.appspot.com/#InsertPanelExample只有一列。 该列是一个包含许多 Widget 的 VerticalPanel。 使用 V
我是一名优秀的程序员,十分优秀!