如何获得 Codename One Form 功能垂直滚动?

How to get Codename One Form feature vertical scroll?

My Codename One 应用的特点是一个表单,其中包含 3 个包含文本的 SpanLabel 和一个位于 LayeredLayout 中的容器,其中包含一个图像和一个叠加层。

    this.add(BorderLayout.NORTH, spanLab1);
    this.add(BorderLayout.CENTER, imageCont);
    this.add(BorderLayout.SOUTH, BoxLayout.encloseY(spanLab2, spanLabl3));

这会产生以下结果:

这并不令人满意,因为图像(出现在中间,应该是 CN1 图标)没有缩放而是被剪切,因为无法向下滚动。

我试图强制表单可滚动 (this.setScrollableY(true)) 但没有成功。

我是不是哪里弄错了,例如,我的所有内容都应该放在 BorderLayout.CENTER 中,因为根据 documentation,NORTH 位置专用于标题和SOUTH 一个用于可选菜单栏(我尝试过但没有成功)

或者我应该显示一个对话框(它提供开箱即用的 Y-Scroll)?在没有图片剪切或文本重叠的情况下显示我的所有(长)内容的正确方法是什么?

编辑 2016 年 12 月 22 日

正如@Tizbn 所写,表单的 ContentPane 必须位于 Vertical BoxLayout 中。所以对 parent 构造函数的调用必须写成:

super(new BoxLayout(BoxLayout.Y_AXIS));

非常感谢您的帮助!

垂直滚动在 BorderLayout 中被禁用。为此,可以使用带 Y 轴的 BoxLayout,并在 Boxlayout 中设置 setScrollableY(true)。希望对你有帮助。