在Boxlayout

时间:2017-02-21 13:29:52

标签: codenameone

我想在表单中显示HTML。问题是我必须使用Boxlayout来放置我的组件。因此,当我放置WebBrowser时,我会遇到一些高度和滚动问题。我从Web服务中获取要显示的HTML。内容的长度是可变的。我只是想显示这个响应的一部分。这是我已经拥有的:

enter image description here

webBrowser位于编辑按钮下方,并在LBL_LIB_NOM标签附近结束。 正如您所看到的,webBrowser太高了,当我点击WebBrowser时,我无法滚动表单。在这个例子中,我想减小WebBrowser的大小,所以我们只能看到标题。我也希望在单击WebBrowser时滚动表单,因为我不希望WebBrowser滚动。

我已经尝试了一些方法来解决我的问题:

  • 我试图覆盖calcPreferredSize方法。
  • 我重新验证了我的表单和我的webbrowser。
  • 我使用弃用的setPreferedSize方法调整了它的容器大小。 在这种情况下,容器大小合适但WebBrowser显示 高于其他组件。

我在其他帖子中看到的通常答案是将WebBrowser放在BorderLayout中,但我无法做到。

所以这是我的问题:我可以使用任何其他组件来显示一个HTML行吗?或者有没有办法让webBrowser在boxLayout中正常工作?我是否必须编写自己的HTML渲染器?

1 个答案:

答案 0 :(得分:1)

我猜你想要盒子布局,所以你可以滚动......这是有问题的。

Web视图通常希望自己滚动,这在处理自己的事件并因此滚动的本机窗口小部件中很常见。我们的代码很难知道您的刷卡何时适用于我们或底层本机小部件,并且仍然难以以一致的方式执行此操作。

有3种选择:

  • 仅使用Codename One代码
  • 使用边框布局或类似布局
  • 使用网络浏览器查看此表单的整个用户界面

如果您想采用第一个选项this article可能有用作为起点。