Form containerForm=new Form(filename);
StringItem label1 = new StringItem("","Test\nTest2\nTest3");
StringItem label2 = new StringItem("","Test\nTest2\nTest3");
label2.setLayout(Item.LAYOUT_LEFT|Item.LAYOUT_TOP|Item.LAYOUT_SHRINK );
label2.setLayout(Item.LAYOUT_RIGHT|Item.LAYOUT_TOP|Item.LAYOUT_SHRINK );
containerForm.append(label1);
containerForm.append(label2);
display.setCurrent(containerForm);
此代码生成:
我想要它,因此两个StringItems紧挨着彼此,测试与测试结合,依此类推。
我也尝试将两个字符串组合成一个并在它们之间添加一个制表符(\ t)。然而,标签变成了什么。
答案 0 :(得分:1)
如果你在MIDP 2上,除了你已设置的指令外,还设置LAYOUT_2
会更安全。根据我对API规范的回忆,没有这个标志设备可能(或者甚至应该)落入MIDP 1布局样式而忽略了您宝贵的TOP
和SHRINK
。
还要考虑使用Item.setPreferredWidth(containerForm.getWidth()/3)
明确指出您希望它不会太宽。愚蠢的设备认为你的字符串项目的首选宽度是屏幕的宽度,而不知何故否决缩小指令似乎很小(但非零)。
答案 1 :(得分:0)
Java ME使用行布局,这意味着您添加的每个项目都会添加到GUI的下一行。您需要类似GridLayout的东西,这在Java ME中是不可用的。也许你必须编写自己的包含两个标签的Item。与here相似。以下是Java ME中Gridlayouts的stackoverflow问题:Table or gridlayout in J2ME
答案 2 :(得分:0)
使用LWUIT
使用GridLayout