Как я могу иметь два элемента рядом друг с другом в форме? - PullRequest
2 голосов
/ 13 июля 2011
            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 были рядом друг с другом, и test выстроился в очередь с test и так далее.

Я также попытался объединить два строковых элемента в один и добавить между ними символ табуляции (\ t).Однако вкладка превратилась в ничто.

Ответы [ 3 ]

1 голос
/ 29 июля 2011

если вы используете MIDP 2, было бы безопаснее также установить LAYOUT_2 в дополнение к уже установленным директивам. Насколько я помню из спецификации API, без этого флажка устройство может (или, возможно, даже должно) перейти на стиль макета MIDP 1, игнорируя ваши драгоценные TOP и SHRINK.

Также рассмотрите возможность использования Item.setPreferredWidth(containerForm.getWidth()/3), чтобы явно указать, что вы хотите, чтобы он был не слишком широким. Кажется, есть небольшая (но ненулевая) вероятность того, что глупое устройство считает, что предпочтительной шириной ваших строковых элементов является ширина экрана, которая, в свою очередь, каким-то образом отменяет директиву сжатия.

0 голосов
/ 13 июля 2011

Используйте GridLayout, используя LWUIT

http://lwuit.java.net/tutorial/layouts.html

0 голосов
/ 13 июля 2011

Java ME использует макет строки, что означает, что каждый добавляемый вами элемент добавляется в следующую строку графического интерфейса. Вам нужно что-то вроде GridLayout, который недоступен в Java ME. Может быть, вы должны написать свой собственный элемент, который содержит обе метки. Похоже на здесь . Вот вопрос переполнения стека по Gridlayouts в Java ME: Таблица или gridlayout в J2ME

...