Scroll 滚动赢得';别动

Scroll 滚动赢得';别动,scroll,lwuit,lwuit-form,lwuit-list,Scroll,Lwuit,Lwuit Form,Lwuit List,我有一个LWUIT表单,其中包含一个列表,列表中添加了许多项,项本身就是字符串(我想将它们作为语句) 返回 我的简单问题是最终用户看不到整个语句(字符串)。我尝试了下面的方法,但滚动无法移动 所有form.setScrollable(true),form.setScrollabelX(true),以及form.setScrollable(true) 这是密码 import javax.microedition.midlet.*; 导入com.sun.lwuit.layouts.*; 导入com.

我有一个LWUIT表单,其中包含一个列表,列表中添加了许多项,项本身就是字符串(我想将它们作为语句)

返回

我的简单问题是最终用户看不到整个语句(字符串)。我尝试了下面的方法,但滚动无法移动

所有
form.setScrollable(true)
form.setScrollabelX(true)
,以及
form.setScrollable(true)

这是密码

import javax.microedition.midlet.*;
导入com.sun.lwuit.layouts.*;
导入com.sun.lwuit.*;
公共类HelloLWUITMidlet3扩展了MIDlet
{
公开作废startApp()
{
com.sun.lwuit.Display.init(this);
最终com.sun.lwuit.Form=新com.sun.lwuit.Form(“”);
final com.sun.lwuit.List l=new com.sun.lwuit.List();
l、 addItem(“我最喜欢的科学是计算机科学”);
l、 addItem(“我最喜欢的计算机科学科目是编程”);
l、 addItem(“我最喜欢的编程语言是java”);
表.setScrollableY(真实);
表1.setScrollableX(真实);
表1.添加组件(l);
form.show();
}
公共无效pauseApp()
{
}
公共应用程序(布尔无条件)
{
}
}

首先,水平来回滚动阅读内容是非常必要的 真糟糕。这个答案只能解决垂直滚动的问题

代码的问题是您正在添加可滚动的(列表) 在另一个可滚动的 (表格)。这会导致意外的结果,因为它是 不清楚哪个组件应该处理滚动。这可以通过以下方式解决: 在表单中使用BorderLayout并将列表放置在中心

...
form.setScrollable(false);
form.setLayout(new BorderLayout());
form.addComponent(BorderLayout.CENTER, l);

...
这将启用垂直滚动,但水平滚动将不启用 工作

关于滚动的澄清:

LWUIT方法 滚动是基于焦点的,这意味着容器滚动 因为聚焦元素不在屏幕上。这是有后果的 LWUIT不支持比屏幕大的滚动元素,因此, 您的列表将无法水平滚动。(来源:)

建议:

最大图元高度作为列表中的构件高度。这 使列表组件足以显示中“预格式化”的数据 一种特定的方式,如文件夹详细信息列表的联系人列表。如果你 要堆叠可变长度的文本,应
使用带有BoxLayoutY的表单,将文本放在不同的文本区域中

void startApp() {
    Display.init()
    final Form form = new Form("Title");

    addItem(form, "String..");
    // as many times as you like
    addItem(form, "String..");

    form.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
    form.setScrollableY(true);
    form.show()
}


void addItem(Form f, String s) {
    TextArea t = new TextArea(s);
    t.setGrowByContent(true);
    f.addComponent(t);
}