gpt4 book ai didi

java - 为什么 Vaadin 忽略第一个组件

转载 作者:行者123 更新时间:2023-11-30 07:40:50 25 4
gpt4 key购买 nike

我是 Vaadin 的新手。我想创建一个页面,左侧有三个选项。根据选项选择,组合框将出现在右侧,该组合框特定于左侧的选项。我想要带有标签的组合框。

名称:“组合框菜单”

到目前为止,我可以单击左侧的选项并在右侧显示组合框,但无法使用组合框显示标签。标签是一个组件,组合框也是一个组件。当我将两者添加到面板时。期望标签和组合框都显示,但最后一个(组合框)忽略第一个(标签)。我不知道为什么会这样。如果有人能帮助我,我将非常感激。谢谢

这是我的代码:

HorizontalLayout hLayout;
Panel hpanel;
HorizontalSplitPanel hsplit;
VerticalSplitPanel vsplit;

tree.setImmediate(true);
tree.addItem("OP1");
tree.addItem("OP2");
tree.addItem("OP3");

hsplit.setFirstComponent(tree);

tree.addListener(new Component.Listener() {
public void componentEvent(Component.Event event) {

Object o = tree.getValue();
System.out.println("selected = " + o);
showWindowtab(o);
}
});

hpanel.setContent(hsplit);
hLayout.addComponent(hpanel);
hLayout.setSpacing(true);

final VerticalLayout main = new VerticalLayout();
main.setMargin(true);
setContent(main);

main.addComponent(hLayout);

private void showWindowtab(Object itemClicked) {

Label label = new Label("Here is example of Combo Box");

hsplit.setSecondComponent(label);

String document[] = { "X", "Y", "Z" };

ComboBox cb = new ComboBox();
cb.setInputPrompt("Select values");

cb.setInvalidAllowed(false);
cb.setNullSelectionAllowed(false);

for (int i = 0; i < document.length; i++) {

cb.addItem(document[i]);
}

cb.setImmediate(true);

setFocusedComponent(cb);

hsplit.setSecondComponent(cb);
}

最佳答案

您在 label 和 cb 上调用 setSecondComponent(),因此第二个可能会覆盖第一个。

也许你想要的是 setfirstComponent(label)?

另一种选择是在您想要查看标签的组件上调用 addComponent(label)。

关于java - 为什么 Vaadin 忽略第一个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723726/

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