【问题标题】:Why Vaadin ignors first component为什么 Vaadin 忽略第一个组件
【发布时间】:2016-01-11 23:44:53
【问题描述】:

我是 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);
}

【问题讨论】:

    标签: java vaadin7


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-03-09
      • 1970-01-01
      • 2021-06-17
      • 2014-09-08
      • 2019-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多