我有一个奇怪的问题,当我在包含它们的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
中添加断点,但是当我尝试单击时无法访问它们。还有什么我应该看或尝试?我的想法已经不多了,这似乎完全是随机的。
答案 0 :(得分:0)
我只是改变了添加组件的顺序,这样我在iconGroupLayout之前添加了itemNavLayout并且工作正常。我不知道为什么会这样。