【问题标题】:CN1: Scrolling not working on MultiButtonCN1:滚动在 MultiButton 上不起作用
【发布时间】:2019-02-02 01:05:32
【问题描述】:

所以,我有一个带有多按钮的表单,但滚动不起作用。 我已经用普通按钮试过了,但我需要 secondTextLine

MultiButton mbProducts = new MultiButton(product);
            //Produkte in Detail (Form)
            ProdukteDetailForm produkteDetailForm = new ProdukteDetailForm();
            //Backbutton
            Button btnBack = new Button("Zurück");
            btnBack.addActionListener(b -> {
                new ProdukteForm().show();
            });

            //ProductDetails
            Container conProdukteDetail = new Container(BoxLayout.y());
            ...
            conProducts.add(mbProducts);
        }
        this.add(conProducts);
        initGuiBuilderComponents(resourceObjectInstance);

还有其他选择吗?或者更好的方法来解决这个问题?正如我所说,我需要 Multibutton 中的 secondLine

【问题讨论】:

  • 滚动与MultiButton 没有任何关系,看起来您以某种方式使用了 GUI 构建器表单。这里的可滚动容器是什么?
  • 我使用了带有 Y 轴的 BoxLayout。我应该改用什么?
  • Container conOrders = new Container(new BoxLayout(BoxLayout.Y_AXIS));
  • 但是在 Y 轴上可以滚动吗?父容器是否可滚动?您是否在 GUI 构建器中使其可滚动?层次结构中只有一个容器应该是可滚动的...
  • conOrders 是父容器,我添加了conProducts.setScrollableY(true);。我还在 GUI 中将其标记为可滚动...

标签: java codenameone


【解决方案1】:

我用这段代码解决了这个问题:

    Container conProducts = new Container(new BorderLayout());
    Container conBorder = new Container(new BoxLayout(BoxLayout.Y_AXIS));
    conProducts.setScrollableY(true);

    ...

    conBorder.add(mbProducts);
    conProducts.add(BorderLayout.CENTER, conBorder);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    相关资源
    最近更新 更多