我认为按钮存在UI错误。我的按钮定义如下:
@Override
protected boolean getConfiguredProcessButton() {
return false;
}
@Override
protected boolean getConfiguredFillHorizontal() {
return true;
}
但是他们填补了这个空间,如图所示:
这是一个错误,还是我错过了什么?
答案 0 :(得分:1)
默认情况下,Scout Html UI中的所有表单字段都会在右侧保留一些空间,以显示其(信息,错误)状态或上下文菜单图标。我想我们在你的图片中看到的表/组框标题也是如此。尝试IFormField #setStatusVisible(boolean)或覆盖AbstractFormField#getStatusVisible()。
一个小提示:表格有自己的菜单栏。所以我宁愿将“新行”操作添加到菜单类型为“EMPTY_SPACE”的菜单中,将“删除行”操作添加为菜单类型为“SINGLE / MULTI_SELECTION”的菜单,而不是向表单添加按钮。例如:
public class SampleTable extends AbstractTable {
@Order(10)
public class NewMenu extends AbstractMenu {
@Override
protected Set<? extends IMenuType> getConfiguredMenuTypes() {
return CollectionUtility.<IMenuType> hashSet(TableMenuType.EmptySpace);
}
@Override
protected String getConfiguredText() {
return TEXTS.get("New");
}
@Override
protected void execAction() {
// TODO: impl. new
}
}
@Order(20)
public class DeleteMenu extends AbstractMenu {
@Override
protected Set<? extends IMenuType> getConfiguredMenuTypes() {
return CollectionUtility.<IMenuType> hashSet(TableMenuType.MultiSelection, TableMenuType.SingleSelection);
}
@Override
protected String getConfiguredText() {
return TEXTS.get("Delete");
}
@Override
protected void execAction() {
// TODO: impl. delete
}
}
}
有关完整示例,请检查名为“widgets”的Scout演示应用程序中的TableFieldForm / AbstractFileTableField。该应用程序在此处托管:
答案 1 :(得分:0)
祝你好运, 的Matthias