Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GUI Editor, Разделение кода программы и окошек 
:(
    Опции темы
DOKA
Дата 5.3.2007, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 13.8.2006

Репутация: нет
Всего: нет



Доброго времени суток!

Для клипания окошек испольую Swing и какой-то стандартный плагин для Eclipse.
Вот в чём проблема: после использования данного плагина, код получается похож на минное поле, т.е. менять код окошек нельзя (иначе перестанет работать оконный дизайнер), а если не менять, то визуально это бардак! А ведь там должен ещё присутствовать и мой код!

Идея следующая: отделить код _создания_ окошек от общего кода программы, как, к примеру в Delphi. Там описание окон содержится в файлах *.dfm (Delphi Form), а сам код, который пишется программистом лежит в *.pas.

Возможно ли такое в Java? Желательно в SWING.

Кстати попутный вопрос: чем мжет быть чревато использование NullLayout (c GridBagLayout я просто задолбался - оконные элементы визуально расставлять неудобно)?


Спасибо.
PM MAIL   Вверх
Шмель
Дата 5.3.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 16.4.2004

Репутация: 5
Всего: 18



Open Source XML UI Toolkits in Java

Насколько я понял, NullLayout - это отсутствие менеджера компоновки. То есть размещение компонентов проводится по жестко координатам. Отсюда вытекают такие проблемы: на разных система компоненты (например, кнопки) могут иметь разные размеры; добавление, удаление, перемещение компонентов становится реальным геморроем за счет всё тех же координат - попробуй высчитать их для каждой системы, где твоё приложение будет запускаться. Короче говоря, абсолютное позиционирование имеет больше минусов, чем плюсов - зависимость от системы, зависимость от пользовательских настроек (дефолтный шрифт, LAF-тема и т.д.) ну и до кучи - изменение размеров окна не влечет за собой автоматическое изменение положения и размеров (если нужно) компонентов. 
--------------------
будешь на Земле - заходи
PM MAIL ICQ   Вверх
carper
Дата 5.3.2007, 15:25 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 2.3.2005

Репутация: 1
Всего: 8



Цитата
Для клипания окошек испольую Swing и какой-то стандартный плагин для Eclipse.


1. Убираем "какой-то стандартный плагин для Eclipse" (VE скорее всего),
2. Учимся писать GUI без костылей, используя IDE разве что как удобный менеджер для визуального рисования ПРОЕКТА (по созданию реальной формы, "проект" можно выбросить).
3. Читаем про MVС и выносим собственно оконный интерфейс куда угодно - хотите просто в отдельные классы, хотите дополнительно с  применением XML для сериализации.
4. Долго ругаемся на меня, JAVA, IDE, менеджеры компоновки, расслабившись переходим к п.5 Если расслабится не удалось переходим к п.2.
5. Понимаем, что писание GUI ручками совсем не равно изобретению велосипеда.
6. Наслаждаемся четким, ясным и простым написанием GUI под Swing. Не понимаем как можно было раньше так слепо позволять всяким редакторам ваять кучу совершенно безобразного кода.
7. Понимаем, что все же есть много случаев, когда надо просто наваять пару окошек.
8. Переходим к п.4 и ждем что может кто-нибудь, когда-нибудь из создателей IDE поймет, что то безобразие, что они предлагают под видом визуальных редакторов, стоит сделать хотя бы чуть-чуть поприличнее.
Ждем, когда они поймут, что все это хорошо будет продаваться не по сумасшедшим деньгам.... 
Мечтаем дальше ...   smile 

Все вышеперечисленное оффтопом считать отказываюсь - при текущем состоянии дел все IMHO именно где-то так и обстоит.


Что касается NullLayout - то вам уже все объяснили, но скажу еще проще - из всех плохих вариантов это самый плохой, что можно только придумать. Уж лучше тогда IDE.
PM MAIL   Вверх
y3u
Дата 5.3.2007, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 9.9.2006
Где: Москва

Репутация: 1
Всего: 13



carper, +1, держи в репутацию smile


--------------------
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
PM MAIL   Вверх
DOKA
Дата 5.3.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 13.8.2006

Репутация: нет
Всего: нет



Цитата(Шмель @ 5.3.2007,  14:41)
Open Source XML UI Toolkits in Java

Шмель, Thx, завтра попробую.

Добавлено @ 22:24 
Цитата(carper @ 5.3.2007,  15:25)
1. Убираем "какой-то стандартный плагин для Eclipse" (VE скорее всего)
...

Спасибо за ответ. Всё понимаю, что код хорошо бы писать руками, но тем не менее период подросткового перфекционизма у меня прошел и есть цель быстро клипать окошки, которые будут, пусть не идеально с точки зрения кода, но корректно работать. Если мусор, нагенерённый GUI-designer'ом будет за ширмой, меня это устроило бы. smile
В данный момент из-за неудобства Eclipse в этом плане, как раз и пишу код руками. Но это дооо-о-о-оолго smile Вспоминаю времена моего проганья на Delphi и аж ностальгия пробирает - вот это эталон GUI-designer'a. К сожалению, там не всё так гладно с самими компонентами, но это уже отдельная история smile
PM MAIL   Вверх
powerOn
Дата 5.3.2007, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Цитата(DOKA @  5.3.2007,  22:20 Найти цитируемый пост)
Вспоминаю времена моего проганья на Delphi и аж ностальгия пробирает - вот это эталон GUI-designer'a.


Ты просто, наверное, не видел NetBeans-вый Matisse.  smile  Вот это, почти, эталон GUI редактора. ИМХО. smile
Я бы посоветовал среди GUI плагинов для эклипс Matisse4Eclipse. Но он стоит денежку. Но в NetBeans он, конечно же, бесплатный.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Foo
Дата 8.3.2007, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 20.10.2006

Репутация: нет
Всего: 3



Помоему с помощью GUI редактора нельзя сделать нормальный серьезный интерфейс. 
И даже если
Цитата

есть цель быстро клипать окошки, которые будут, пусть не идеально с точки зрения кода, но корректно работать. 

то лучше их клепать без гуи редактора, и никак это не будет быстрее с помощью редактора, если разобраться нормально со свингом, а лучше всего ещё изучить jgoodies фреймворк и делать профессиональный гуи очень быстро. Мне знаком случай когда 2 конкурирующие фирмы писали один проект, одна на Delphi другая на Java. Фирма которая писала на Java оставила далеко позади вторую по качеству гуи.
--------------------
qip
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.