#blackberry #java-me
#ежевика #java-me
Вопрос:
Я пытаюсь установить заполнение между различными полями в приложении Blackberry. Я могу использовать метод setpadding, но это кажется излишним для того, чего я пытаюсь достичь. Я просто хочу установить постоянный интервал между всеми полями. Возможно ли это без использования setpadding? Мои поля являются частью verticalfield manager, если это поможет.
Спасибо
Ответ №1:
Если это поля, которые вы будете часто использовать с одинаковым интервалом, то самым простым решением, вероятно, было бы расширить поле и вызвать для него в конструкторе setMargin()
.
public class SpacedLabelField extends LabelField {
public SpacedLabelField(String text, long style) {
super(text, style);
setMargin(10, 10, 10, 10);
}
}
Я бы рекомендовал setMargin()
, потому что менеджеры учтут эту информацию и предоставят вам равномерный интервал. Например, у вас есть поле A с нижним полем, равным 10, и поле B с верхним полем, равным 10. Если вы сложите A поверх B, то в конечном итоге расстояние между ними составит 10, а не 20 (по крайней мере, я наблюдал такое поведение в версии 5.0).
В любом случае, теперь вместо того, чтобы создавать свои поля и затем вызывать setMargin() для каждого, вам нужно только вызвать свой класс, и он уже будет отформатирован для вас.
В качестве альтернативы вы могли бы создать свой собственный менеджер и в sublayout()
вызове реализовать интервал между полями при их размещении и позиционировании.