J2ME LWUIT - 滚动时显示外部屏幕标签时出错

时间:2012-01-23 14:49:21

标签: java-me lwuit

我正在使用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);

2 个答案:

答案 0 :(得分:2)

最后我解决了。

我删除了第二个Container,我将表单的布局更改为BoxLayout(BoxLayout.Y_AXIS)并将所有“行容器”添加到表单中,

通过这些更改,我具有相同的图形功能,滚动工作正常。

我必须删除这个问题? o留给别人吗?

答案 1 :(得分:0)

也许你必须“冻结”Form并使其不可滚动。使用Form设置Form.setScrollable(false)不可滚动,并使Container的中心/北BorderLayout可滚动。尽量做到这一点。