为什么我的Vaadin NativeButtons不起作用?

时间:2014-10-31 01:13:02

标签: vaadin vaadin7

我有一个奇怪的问题,当我在包含它们的AbsoluteLayout(iconGroupLayout)旁边添加一个AbsoluteLayout(itemNavLayout)时,我的某些按钮(在crudIconGroup中)被禁用(没有点击动画或任何东西)。它们不重叠。以下是我的代码的相关部分:

private void setupLayouts() {
    borderLayout = new BorderLayout();
    mainLayout.addComponent(borderLayout);
    borderLayout.setSizeFull();
    displayLayout = new AbsoluteLayout();
    iconGroupLayout = new AbsoluteLayout();
    innerDisplayLayout = new AbsoluteLayout();
    crudIconGroup = new CRUDIconGroup();
    headerArea = new HeaderArea();
    footerArea = new FooterArea();
    linkArea = new LinkArea();
    itemNavLayout = new AbsoluteLayout();
}

private void setupHomeView() {
    borderLayout.addComponent(headerArea, BorderLayout.Constraint.NORTH);
    borderLayout.addComponent(footerArea, BorderLayout.Constraint.SOUTH);
    borderLayout.addComponent(displayLayout, BorderLayout.Constraint.CENTER);
    displayLayout.setSizeFull();
    displayLayout.addComponent(iconGroupLayout, "left: 70%; top: 0%;");
    iconGroupLayout.setHeight("21px");
    displayLayout.addComponent(linkArea, "top: 0%; left: 0%;");
    iconGroupLayout.addComponent(crudIconGroup, "top: 0%; right: 5px;");
    //buttons work whenever the statement below is commented out
    displayLayout.addComponent(itemNavLayout, "top: 0px; left: 201px;");
    itemNavLayout.setHeight("25px");
    itemNavLayout.setWidth("60%");
    displayLayout.addComponent(innerDisplayLayout, "top: 21px; left: 201px;");
}

无论itemNavLayout是否存在,linkArea中的所有按钮以及标题中的按钮都有效。 crudIconGroup按钮没有,但我也做了一个相当简单的按钮并将其添加到iconGroupLayout,它与crudIconGroup中的按钮不同。 linkArea和crudIconGroup中的所有按钮基本上都是相同的,它是向innerDisplayLayout添加一个组件,并且之前都在工作。

我尝试运行Eclipse调试器并在ClickListener中添加断点,但是当我尝试单击时无法访问它们。还有什么我应该看或尝试?我的想法已经不多了,这似乎完全是随机的。

1 个答案:

答案 0 :(得分:0)

我只是改变了添加组件的顺序,这样我在iconGroupLayout之前添加了itemNavLayout并且工作正常。我不知道为什么会这样。