在LWUIT中使用TextArea滚动问题

时间:2011-10-04 17:51:00

标签: java java-me lwuit autoscroll lwuit-textarea

我在LWUIT中有一个TextArea,我正在操纵一个问题。我有以下两个问题:

  1. 即使我打电话给setIsScrollVisible(true),我似乎也没有 滚动条,当输出低于可见时,无法滚动 容器的区域。

  2. 如何告诉TextArea自动滚动到底部 编程?

  3. 我初始化TextArea的代码如下所示:

    myTextArea = new TextArea(20, Display.getInstance().getDisplayWidth());
    myTextArea.setEditable(false);
    myTextArea.setEnabled(true);
    myTextArea.setIsScrollVisible(true);
    myTextArea.setGrowByContent(false);
    System.out.println(myTextArea.isScrollableY());
    

    isScrollableY()返回true。有任何想法吗?有什么我想念的吗?在API中似乎没有任何可见的东西可以让我明确启用或禁用滚动。提前感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:3)

文本区域的宽度在代码中的列中不是像素。

将滚动设置为可见不会导致它出现,因为LWUIT滚动条总是“按需”,这意味着滚动条只会在必要时出现,将此值设置为false只会隐藏滚动条,无论是否必要。

要让文本区域抓住整个宽度,只需将其放在框架布局Y容器/窗体中,布局管理器将在X轴上拉伸它。

您可以使用scrollRectToVisible()将文本区域滚动到底部,或者您可以导出文本区域并使用具有适当值的setScrollY(int)(有关如何使用,请参阅文本区域的源代码)滚动文本区域。

答案 1 :(得分:0)

尝试一个简单的textArea.setFocusable(false)。这对我有用。

相关问题