我正在使用LWUIT开发J2ME应用程序。
我需要显示10个值,每个值Label
。
这样的事情:
Label1 Value1
Label2 Value2
Label3 Value3
Label4 Value4
............
LabelN ValueN
我为每个“行”使用1 Container
,为每个“行容器”使用一个大Container
我的问题在于屏幕外的“行”。当我使用滚动
时,最后4对Label
+值未显示
我不知道为什么。 有人可以解决这个问题吗?
这是我的代码:
this.setLayout(new BorderLayout());
PromotionMonitorDTO promotionMonitorDTO = Cloud.getPromotionMonitor();
Utils utils = new Utils();
Font f = Font.getBitmapFont("movSmall");
Container cellContainer = new Container(new BoxLayout(BoxLayout.Y_AXIS));
Container rowContainer = new Container(new BoxLayout(BoxLayout.X_AXIS));
//FIRST PAIR///////////////////////
String stringValue = utils.calendarToShorString(promotionMonitorDTO.getLastUpdate());
Label valor = new Label(LanguageManager.getText("LastUpdate"));
valor.getStyle().setFont(f);
rowContainer.addComponent(valor);
valor = new Label(LanguageManager.getText(stringValue));
valor.getStyle().setFont(f);
rowContainer.addComponent(valor);
cellContainer.addComponent(rowContainer);
rowContainer = new Container(new BoxLayout(BoxLayout.X_AXIS));
//SECOND PAIR///////////////////////
stringValue = String.valueOf(promotionMonitorDTO.getInitialTarget());
valor = new Label(LanguageManager.getText("InitialTarget"));
valor.getStyle().setFont(f);
rowContainer.addComponent(valor);
valor = new Label(LanguageManager.getText(stringValue));
valor.getStyle().setFont(f);
rowContainer.addComponent(valor);
cellContainer.addComponent(rowContainer);
////////8 MORE PAIRS////////////////////
this.addComponent(BorderLayout.NORTH, cellContainer);
答案 0 :(得分:2)
最后我解决了。
我删除了第二个Container,我将表单的布局更改为BoxLayout(BoxLayout.Y_AXIS)
并将所有“行容器”添加到表单中,
通过这些更改,我具有相同的图形功能,滚动工作正常。
我必须删除这个问题? o留给别人吗?
答案 1 :(得分:0)
也许你必须“冻结”Form
并使其不可滚动。使用Form
设置Form.setScrollable(false)
不可滚动,并使Container
的中心/北BorderLayout
可滚动。尽量做到这一点。