2009-09-24 2 views
1

У меня был некоторый опыт работы в Swing, и теперь я пытаюсь изо всех сил писать пишущее приложение ajax в додзё. У меня особенно проблема с макетом. В Swing я использую для размещения виджетов в контейнерах с менеджерами компоновки для простых вещей, таких как левый-правый макет, для более сложных вещей, таких как 4 пограничных региона и центр.Макет: от Swing до Dojo

После небольшого использования Dojo я вижу, что есть макет типа границы, но я не вижу компоновки для более простых вещей, таких как слева направо и сверху вниз. Там есть панель прокрутки, но мне не нужна/нужна полоса прокрутки.

В дни моей старой школы я использовал таблицы для макета, но после прочтения много сообщений о «неправильности» такого подхода. Я ожидаю, что Вселенная взорвется, если я буду использовать эту технику сейчас =) ,

Я должен что-то упустить в Додзё ... или, может быть, есть общий «веб-способ» совершения таких вещей, которые не относятся к Dojo.

+0

Таблицы прекрасно подходят для табличных данных. Например, проверьте источник страницы вопросов на этом сайте –

ответ

2

Dijit предоставляет только несколько виджетов компоновки, и большинство из них основаны на «стеке»: StackContainer, AccordionContainer и TabContainer - все о размещении виджета друг над другом и переключение между ними. BorderContainer делает то, что вы описываете, и, как правило, самый полезный виджет макета в Dojo. У dojox.layout есть еще несколько.

Общая философия Dijit - использовать HTML и собственный механизм компоновки браузера для любого HTML-кода. Слева направо, вероятно, просто добавление виджета в поток HTML, верхнее дно будет разделять их блочными элементами. Базовый CSS можно применять для заполнения и т. Д. Абсолютное позиционирование CSS следует избегать. ТАБЛИЦЫ по-прежнему лучше всего подходят для макета макета, чтобы хорошо работать во всех браузерах - ничего не взорвется, просто попробуйте не слишком сильно их вложить. Есть причудливые методы компоновки CSS, но я не думаю, что они хорошо поддерживаются.

Смежные вопросы