Подтвердить что ты не робот

Как "профессионалы" создают графический интерфейс в Java?

Спасибо за ваши ответы на мой предыдущий вопрос о GUI в java. Теперь я задаюсь вопросом, какие решения выбраны профессионалами, чтобы получить приятный графический интерфейс для "реальных" приложений. Используете ли вы качание и JComponents и просто меняете "внешний вид"? Вы предпочитаете awt или другую библиотеку?

Извините, если этот вопрос звучит странно, я студент, и я действительно не знаю, как Java используется в реальном мире...

4b9b3361

Ответ 1

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

Если мы будем использовать что-то другое, например SWT или Jambi, нам также придется развернуть эти рамки для всех платформ, и протестировать эти рамки для всех версий ОС и (поддерживаемых) Java. Не совсем приятно.

Однако довольно сложно создать приятное отзывчивое приложение с Swing; поэтому вам действительно нужно использовать SwingWorker и тому подобное. Однако с небольшим опытом вы можете создать приятное приложение.

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

Тем не менее, наша цель - настольные компьютеры. Если вы настроите таргетинг на мобильные устройства или вам нужен веб-интерфейс, ваш выбор может отличаться.

Ответ 2

Я не верю, что кто-то больше предпочитает AWT. Swing вытеснил его полностью одиннадцать лет назад, опираясь на него, чтобы исправить недостатки в дизайне AWT 1.0.

Swing - это не единственный способ, которым профессионалы делают Java-интерфейсы. Это работает для настольных компьютеров, но там также есть JavaFX. Для Интернета пользовательские интерфейсы создаются с использованием HTML, CSS, JavaScript и JSP.

Ответ 3

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

Использование SWT довольно ограничено организациями, которые используют Eclipse RCP в качестве своей платформы. Я не уверен, почему он не поймал себя вне этой платформы.

Грустно признаться, но графические интерфейсы Java Swing обычно не выглядят хорошо, если вы не тратите много времени на создание более привычного для них чувства. Даже тогда они часто теряют эстетику в эквивалентных программах, написанных специально для Windows, и которые используют оконные API, такие как WinForms.

Ответ 5

Обычно мы используем Swing, потому что он поддерживается в стандартных JRE из коробки. Обычно мы делаем первоначальную конструкцию формы и привязку событий в Netbeans, а затем экспортируем ее во все, что пожелаем, например Eclipse.

Netbeans выплевывает чистую Java, используя стандартные библиотеки (плюс банку или два, которые вы должны включить), поэтому не нужно разрабатывать форму в Netbeans, а затем переходить к чему-то еще.

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

Ответ 6

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

Ответ 7

Macintosh OS X создает собственную среду выполнения Java. Они дают компонентам Swing тот же внешний вид, что и родные приложения.

Я использую строго Swing. Я распространяю "реальные" настольные приложения через Web Start для Mac и Windows, которые взаимодействуют с устройством чтения смарт-карт пользователя.

Средство IDE NetBeans предоставляет вам способ WYSIWYG для создания ваших форм. Я пробовал это, и это довольно аккуратно, но мы по-прежнему используем Eclipse в качестве нашей среды разработки и разрабатываем формы в коде.