Написать графический интерфейс программно, или с помощью расширенного графического редактора (Java Swing)? - PullRequest
6 голосов
/ 16 марта 2010

Я планирую написать приложение на основе Swing (с использованием Netbeans 6.8).

Кажется, что Netbeans имеет очень продвинутый редактор графического интерфейса ... Тем не менее у меня есть сомнения относительно кода, сгенерированного им. Кроме того, мне не нравится тот факт, что часть кода заблокирована (все же я понимаю необходимость).

Кто-нибудь с успехом использовал редактор GUI Netbeans? Это "масштабируется"?

Ответы [ 5 ]

7 голосов
/ 16 марта 2010

Да, построитель графического интерфейса пользователя NetBeans - один из лучших в мире. Я был особенно впечатлен тем, как хорошо он справляется с печально известной GridBagLayout.

Borland JBuilder был, по моему опыту, самым лучшим редактором GUI; если я правильно помню, он генерировал код без «заблокированных областей» и обычно продолжал бы изящно работать с кодом GUI, который вы настраивали вручную.

Тем не менее, мне еще не удалось найти редактор графического интерфейса Java Swing, который бы иногда не давился сложным макетом, т. Е. Входил в состояние, в котором дальнейшее редактирование больше не возможно и / или требует резервного копирования или исправления.

Таким образом, я предпочитаю вручную кодировать все мои графические интерфейсы. Хайнц Кабуц из JavaSpecialists говорит мне, что его редактор GUI vim . Тем не менее, я признаю, что большинство других моих друзей и коллег считают меня сумасшедшим за это.

6 голосов
/ 16 марта 2010

С помощью новейших версий Netbeans вы можете обмениваться проектами между Eclipse и Netbeans. Так что, если вам не очень нравится кодирование, вы можете использовать его только для функций графического интерфейса, а затем редактировать код в Eclipse. Убедитесь, что вы сначала создаете свой проект в Eclipse, а затем используете импортер. Они будут находиться в одном каталоге.

http://netbeans.org/kb/docs/java/import-eclipse.html

4 голосов
/ 16 марта 2010

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

Я думаю, что многие из нас боятся писать Swing Layouts вручную из-за GridBagLayout. Это не так сложно, как только вы использовали его несколько раз. Я клянусь этим. Однако недавно я перешел на новую работу, и в их существующем коде вместо этого используется TableLayout . Это намного проще и кажется таким же мощным для меня. Я вырос, чтобы предпочесть его GBL. Я думаю, вы должны рассмотреть это, если вы новичок в написании Swing.

Извините, но я не уверен в вашем вопросе о масштабе.

Удачи!

Забавный побочный рассказ о JBuilder. Мой друг, который научил меня свингу, научил меня писать код вручную, и он всегда заставлял меня писать код макета в методе jbinit (). В течение нескольких недель я предполагал, что это всего лишь какой-то стиль кода, который он использовал. Только позже я узнал, что это был автоматически сгенерированный метод JBuilder в то время. Мне не нужно было использовать это вообще. Я был такой n00b:)

2 голосов
/ 18 марта 2010

Я недавно (4 недели назад) перешел с eclipse / SWT на Netbeans 6.8 / Swing (после того, как мне надоели некоторые проблемы с лицензированием плагинов в Eclipse). Я пришел холодно, не будучи знакомым ни с Netbeans, ни с Swing, и был быстро впечатлен. Мне удалось очень быстро преобразовать 4-летний опыт работы в SWT в Swing, и теперь я считаю Netbeans лучшим редактором графического интерфейса Java. Хотя некоторые части сгенерированного кода доступны только для чтения - это хорошо. Eclipse позволяет редактировать автоматически сгенерированный код, и это может вызвать серьезные головные боли с разметкой, выравниванием и так далее, если вы допустили ошибку. Netbeans позволяет вам создавать собственные «методы обработки событий» (только моя терминология), которые получают автоматически сгенерированный блок для вызова вашего метода в определенных точках жизненного цикла, так что вы можете получить доступ к коду «только для чтения» в любое время.

Так что придерживайтесь NetBeans, это лучшая среда Java Swing.

Вы НЕ хотите кодировать вручную для любого приложения разумного размера. Позвольте GUI выполнить большую часть сантехники за вас (особенно при использовании разных макетов - это само по себе заставит вас рвать на себе волосы), чтобы вы могли сосредоточиться на сервисной / бизнес-логике.

1 голос
/ 01 декабря 2011

Я использовал netbeans, плагин WindowsBuilder в eclipse и прибегал к простому написанию кода Swing вручную. Я определенно ценю тот факт, что NetBeans и Windows Builder пишут свинг-код для вас, но мне нравится знать каждый дюйм кода в моем проекте и знать, куда идти, когда я хочу более сложный и добавлять детали. Сказав, что я думаю, что netbeans тоже стоит попробовать, но я немного нервничал из-за сгенерированного Java-кода, тогда как если бы я написал их с нуля, у меня не было бы этого беспокойства.

Плагин WindowsBuilder для Eclipse полностью испортил мое затмение, помощник по содержимому стал постоянно медленным, даже после его удаления. В то время как у инфраструктуры связывания данных Swing есть некоторая кривая обучения (по крайней мере, для меня, потому что я не знал, что это то же самое, что и у среды связывания данных JFace), у меня были проблемы с поиском документации для нее, и меня отослали в вики JFace ... .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...