После почти трехлетнего перерыва вышла бета версия Aswing 2.0
Основные изменения:
- новый скин (LookAndFeel) по умолчанию
- добавлены компоненты JStepper, DateChooser
- добавлен WeightBoxLayout
- багфиксы и мелкие фичи
В библиотеку включен новый проект - порт для haXe под названием haXeAsWing.
Фактически, это ее точная (с минимальными отличиями) копия, и мы можем использовать любой из вариантов на выбор.
upd. paling добавил ссылку на демо компонентов, готовую swf можно посмотреть в папке bin
Что изменилось, и как этим пользоваться?
Вариант 1.
- чтобы начать использовать haXeAsWing, достаточно просто добавить в проект последнюю версию его исходников из svn
Вариант 2. Подключение родного AsWing 2
- чтобы использовать сам AsWing нужно скачать swc, распаковать ее zipом, подключить library.swf из нее с помощью -swf-lib
К сожалению, ошибка в -swf-lib все еще осталась (haxe некорректно преобразует enum), поэтому нам в исходниках понадобится /org/aswing/AsWingConstants.hx следующего содержания.
Как видно, первый вариант выглядит проще, но пока у него есть несколько странностей и с flash-библиотекой легче перейти с 1.5 на 2.0
- перед инициализацией гуи обязателен вызов AsWingManager.initAsStandard(flash.Lib.current); (если передать в качестве параметра DisplayObject, gui создастся в нем. Upd. от 07.06.2011 - null передавать не рекомендуется, тк AsWingManager не сможет инициализироваться )
- порт может немного по-другому отрабатывать layout компонентов, у меня это вылечилось добавлением для компонентов setPreferredSize
Я не буду здесь описывать, как создать собственно интерфейс - с этим вполне справится туториал, попробую только объяснить отличия от 1.5
1. GuiBuilder еще не успел обновиться, и интерфейсы в нем созданные немного перекашивает, приходится работать руками.
2. По причине из п.1 я не стал пока трогать WeightBoxLayout
3. Datepicker и numeric stepper довольно милые. В новом скине красивые тени и объемный чекбокс.
4. Все старые скины (LookAndFeel) не работают, их надо переделывать
5. Единственный новый совместимый скин PalingLAF видимо пока работает только с flash-версией, по крайней мере мне его прикрутить не удалось.
Дело в том, что новый скин по умолчанию, теперь не использует растровую графику вообще. Вместо картинок, компоненты полностью рисуются вручную в коде.
Градиентные заливки в компонентах полностью настраиваются и содержат три цвета - foreground, mideground и background
В презентации AsWing 2.0 поведение можно потрогать руками.
У каждого компонента есть методы setForeground, setBackground и setMideground, задающие цвета текста и градиента, метод setFont, задающий шрифт, и метод setStyleTune, задающий параметры градиента, тени и скругления (реализованный немного странно).
Кроме того, у каждого компонента остались базовые настройки стиля из LAF, поэтому их можно легко переопределить, например так
Комментарии
LookAndFeel
спасибо за обзор, полезно. поиграл немного. новый LookAndFeel выглядит достаточно приятно.
за короткое время тестирования правда случался небольшой баг с отображением градиента тени у JFrame при ресайзе. Но после перекомпиляции повторить его не получилось.
После частого пользования Flex4 и кастомной UI-библиотеки для чистого AS3, пока непривычно и некоторые вещи кажутся запутанными и громоздкими, но конкретно для haXe это наверное сейчас самый приемлемый выбор GUI-фреймворка, так что не исключено, что еще вернусь к нему. Надеюсь что и GuiBuilder к тому времени допилят, т.к. лично меня именно его наличие для набрасывания быстрых UI в AsWing пока больше всего привлекает.)
И ещё вопрос - а в какого рода проектах вы используете (haXe)AsWing и какие его основные преимущества определяют выбор именно его?
зачем AsWing
GuiBuilder в принципе, работает, и внутренние компоненты генерирует нормально - у меня наблюдались проблемы только с контейнерами. Фреймворк и правда несколько запутан по сравнению с качеством своей документации, но изнутри довольно гибкий (по-своему, по-китайски).
Мое мнение, на AsWing можно быстро сделать более-менее нормальный интерфейс - ну, скажем, для игры-социалки как в примерах. Он отлично подойдет для проекта, в котором gui - не главное. Flex для этого имхо слишком наворочен, а haxegui требует слишком много движений напильником.
Я сейчас пишу нечто напоминающее аудиоредактор - панель инструментов, собственная область для редактирования (sprite), плюс в плане горка настроек и диалогов со свойствами объектов.
Плюсы AsWing'a для меня:
Минусы AsWing'a:
спасибо!
спасибо за развернутый и информативный ответ!
думаю, что для UI приложений типа аудио-редакторов на flash это действительно самый правильный выбор.
утвердился в своем желании попробовать в будущем AsWing если не для проекта, то хотя бы для прототипа.
http://www.aswing.org
http://www.aswing.org
update now
thx
thx paling (guess it was you)
Отправить комментарий