如何在j2me中使一些文本框彼此相邻

时间:2015-08-02 20:19:07

标签: java java-me

我正在使用java无线工具包处理j2me项目,我需要将4个文本框彼此相邻。 我用这些:

private TextField emailTxt;
private TextField passwordTxt;
private TextField nameTxt;
private TextField mobileTxt;
private TextField urlTxt; 

public UserRegistrationMIDlet() {
    emailTxt = new TextField("pelak:\n", "", 2, TextField.EMAILADDR);
    passwordTxt = new TextField("", "", 1, TextField.PASSWORD);
    nameTxt = new TextField("", "", 3, TextField.ANY);
    mobileTxt = new TextField("", "", 2, TextField.PHONENUMBER);
    urlTxt = new TextField("address:", "", 100, TextField.URL);

}

但是j2me文本框和文本字段,每一个填充一行并变得彼此相互影响。 当我搜索到我理解文本框没有设置位置方法但是没有任何其他方法使它们彼此相邻吗? f.n:有人说可以改变边距吗?!怎么样?!

1 个答案:

答案 0 :(得分:1)

我假设您要将这些TextField添加到Form,因此,根据documentation

  

表单中的布局策略是围绕行组织的。行通常是   与屏幕宽度,边距,滚动相关   酒吧等。特定表单中的所有行都具有相同的行   宽度。行的宽度不会根据其中包含的项目而变化   表格虽然在某些情况下可能都会改变宽度,   例如,当需要添加或删除滚动条时。形式   通常不要水平滚动。

但你玩setLayout。例如:

emailTxt.setLayout(Item.LAYOUT_2 | Item.LAYOUT_SHRINK);
passwordTxt.setLayout(Item.LAYOUT_2 | Item.LAYOUT_SHRINK);
nameTxt.setLayout(Item.LAYOUT_2 | Item.LAYOUT_SHRINK);
mobileTxt.setLayout(Item.LAYOUT_2 | Item.LAYOUT_SHRINK);
urlTxt.setLayout(Item.LAYOUT_2 | Item.LAYOUT_SHRINK);

作为最后的手段,您可以构建自己的输入字段,从CustomItem扩展,并将所有字段合并为一个。