Как на самом деле использовать Swing Application Framework? - PullRequest
10 голосов
/ 10 февраля 2009

Я хотел бы узнать, как эффективно использовать Swing Application Framework . Большинство примеров, которые я нашел, - это записи в блоге, которые просто объясняют, как здорово это расширить SingleFrameApplication и переопределить его метод запуска, но это все. статье Sun почти два года, как и собственное введение проекта , и с тех пор, очевидно, произошла некоторая эволюция.

Есть ли где-нибудь свежие и подробные руководства / HOWTO? Конечно, есть JavaDoc, но трудно получить общую картину оттуда. Любые указатели приветствуются.

Обновление: Я понял, что на сайте проекта есть архив списка рассылки . Несмотря на некоторую неуклюжесть (по сравнению со StackOverflow;), он кажется довольно активным. И все же жаль, что настоящих учебников нигде нет. Информация разбросана тут и там.

Обновление 2: Позвольте уточнить - у меня нет проблем с использованием самого Swing (набора инструментов для виджетов), я говорю о его Application Framework , который должен упростить такие вещи, как жизненный цикл приложения (запуск, выход и все, что происходит между ними), управление действиями и т. д., то есть то, что потребуется большинству приложений Swing. Круто, чтобы такой фреймворк был стандартной частью Java . Единственная проблема - узнать, как он предназначен для использования.

Обновление 3: Для заинтересованных лиц на форуме проекта было лишь небольшое обсуждение текущего состояния и будущего JSR 296. Коротко: текущая версия 1.03 считается вполне пригодной для использования, но API не стабилен, и он изменит до окончательной версии в Java 7. Имя пакета также изменится, поэтому Java 7 не будет нарушать текущие приложения, созданные в SAF.

Обновление 4: Карстен Ленцш заявил на вышеупомянутом форуме: «Я сомневаюсь, что он может быть включен в Java 7; я буду голосовать против него». Я бы предпочел не подвергать сомнению искренность этого великого гуру, и, конечно, не стоит допускать, чтобы что-то ошибочное проскальзывало в ядро ​​JDK, но, честно говоря, это странная ситуация - он является автором JGoodies Swing Suite, который частично является коммерческим конкурентом JSR 296, и он заседает в комитете, который решит, будет ли этот JSR включен в стандартную Java. То же самое было с JSR 295 Beans Binding , о котором я писал ранее.

Учитывая текущее состояние SAF, я думаю, что наилучшее решение состоит в том, чтобы обернуть текущую реализацию в "доморощенную" структуру, которая затем может вместить возможные изменения в существующем API.

Ответы [ 5 ]

5 голосов
/ 11 февраля 2009

Прежде всего, мой личный совет - не использовать последнюю версию SAF, которая больше похожа на "процесс рефакторинга в процессе" (и это не развивалось уже 6 месяцев ...)

Я предпочитаю версию "1.03", которая хотя и не идеальна, но гораздо более стабильна и удобна в использовании (я имею в виду в реальных приложениях).

Это правда, что ресурсы о SAF ограничены. Я помню, что пошел по этому пути:

  • Читать Семинар JavaOne 2007 об этом; это дает довольно хороший картинка об этом

  • использовал его и читал javadoc всякий раз, когда это необходимо

  • иногда просматривал исходный код, чтобы восполнить недостатки javadoc

В настоящее время список рассылки не так активен (но это правда, что трафик только что перезапустился с начала года, однако я не видел там ни одного представителя Sun с августа или сентября 2008 года!)

В прошлом году, после одного года практики с SAF, я выступил с докладом на Jazoon'08, вы можете найти слайды в моем блоге . Эта презентация была больше о советах и ​​хитростях, которые я собрал при использовании фреймворка.

Иногда мне также приходилось исправлять некоторые моменты самостоятельно, потому что многие проблемы давно существуют (некоторые не важны для меня, некоторые другие блокируют).

Я помню, что видел (не присутствовал) еще одну презентацию о практике SAF на конференции, я думаю, в Швеции, извините, не могу вспомнить больше деталей. Также было интересно.

Это почти то, что существует (насколько мне известно).

3 голосов
/ 10 февраля 2009

Netbeans 6.5 имеет скелетные приложения, которые могут дать вам хороший старт. Просто создайте новый проект из среды IDE и выберите «Java»> «Настольное приложение Java».

0 голосов
/ 11 февраля 2009

Несмотря на то, что за последние два года произошла некоторая эволюция Swing, основы не сильно изменились. Я бы начал с собственных уроков Sun.

Если вы хотите книги, то у обычных подозреваемых (МакГроу Хилл, О'Рейли) и других есть много информации для людей со всеми уровнями знаний. Некоторые книги ссылаются на Swing под его старым названием «Java Foundation Classes» или JFC.

0 голосов
/ 10 февраля 2009

Вы можете взглянуть на SwingWiki , в котором есть ряд рекомендаций и руководств, хотя он не обновлялся около двух лет.

0 голосов
/ 10 февраля 2009

Не то, что я знаю. Я решил избегать использования фреймворка Swing, пока он не вырастет (или не умрет). Вместо этого я решил использовать библиотеки jgoodies , чтобы дождаться, пока Sun сделает что-то для разработчиков Swing.

...