我在 LWUIT 中有一个 TextArea
,我在操作时遇到了问题。我有以下两个问题:
即使我调用了
setIsScrollVisible(true)
,我似乎也没有 滚动条,当输出低于可见时无法滚动 容器的面积。如何让
TextArea
自动滚动到底部 以编程方式?
我初始化 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 中似乎没有任何可见的内容可以让我明确启用或禁用滚动。在此先感谢您对此提供的任何帮助。
最佳答案
文本区域的宽度以列为单位,而不是您在代码中使用的像素。
将滚动条设置为可见不会导致它出现,因为 LWUIT 滚动条总是“根据需要”,这意味着滚动条只会在必要时出现,将此值设置为 false 只会隐藏滚动条,而不考虑必要性。
要让文本区域占据整个宽度,只需将它放在盒子布局 Y 容器/表单中,布局管理器就会在 X 轴上拉伸(stretch)它。
您可以使用 scrollRectToVisible()
将文本区域滚动到底部,或者您可以派生文本区域并使用具有适当值的 setScrollY(int)
(请参阅文本区域的源代码,了解如何使用它来滚动文本区域。
关于java - LWUIT 中 TextArea 的滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7651977/