Можем ли мы разработать очень красивый пользовательский интерфейс на ходу, и если нет, то какие альтернативы?

В моем текущем проекте мы должны разработать красивое настольное приложение на java.

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

Должны ли мы использовать JavaFX для создания настольного приложения?

Какие еще есть альтернативы этому?


person Shekhar    schedule 28.05.2010    source источник
comment
Возможные дубликаты: stackoverflow.com/questions/2592207/ и stackoverflow.com/questions/559559/   -  person Gnoupi    schedule 28.05.2010
comment
@OliverWeiler совсем нет! Сценарий JavaFX мертв, JavaFX 2.1 живее, чем когда-либо!   -  person eversor    schedule 13.06.2012


Ответы (6)


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

Я рекомендую книгу Чета Хаасе (Chet Haase) и Ромен Гай, если вы хотите научиться создавать хорошие приложения с графическим интерфейсом Swing.

person Jesper    schedule 28.05.2010
comment
+1 за упоминание Filthy Rich Clients. Нет лучшей книги для понимания тонкостей Swing. - person Hermann Hans; 28.05.2010
comment
Я не знал, что Swing может так хорошо выглядеть, пока не увидел образцы в книге. Действительно, сейчас автор работает на Android. - person OscarRyz; 08.11.2010

Зацените пуш-пиксели. Кирилл является автором книги Substance, которая предлагает множество новых вариантов внешнего вида для Swing. . Здесь - запись в блоге, в которой показано немного возможностей Swing. Раньше была ссылка на его презентацию 2007 года на Java One, но, к сожалению, ссылка больше не работает.

person Hermann Hans    schedule 28.05.2010

Вы можете сделать так, как хотите. Особенно, если вы напишете свой собственный внешний вид. Я сам сделал это с помощью полупрозрачных панелей и упрощенных кнопок.

Взгляните на скриншоты по адресу:

http://www.taranfx.com/best-java-swing-look-and-feel-themes-professional-casual-top-10

Nimbus - это новый внешний вид, который набирает популярность и выглядит очень профессионально, imo:

введите описание изображения здесь

person aioobe    schedule 28.05.2010

Вы, безусловно, можете создать великолепно выглядящий пользовательский интерфейс в Swing - такие приложения, как NetBeans и IntelliJ IDEA доказали это среди многих других.

Единственная альтернатива Swing - это SWT (набор инструментов Eclipses), однако он не переносим, ​​как Swing, и не такой гибкий. также. Однако он предлагает более высокую производительность и использование собственных компонентов, что может быть тем, что некоторые люди действительно хотят.

Также существуют привязки Java для большинства существующих наборов инструментов GUI - например, Java для Gnome, и кто-то может их найти интересно.

Однако я предпочитаю предельную переносимость Swing, принятие MVC, внешний вид и возможности подключаемых модулей, доступность множества сторонних библиотек с дополнительными компонентами (SwingX, JIDE, ...) и простота использования.

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

person Bozhidar Batsov    schedule 28.05.2010

Не касайтесь JavaFX 1 штангой.

Однако JavaFX 2 выглядит очень многообещающе, и Oracle заявляет, что собирается тесно интегрировать его с Java 8. За ним стоит очень хороший API, он имеет графическое ускорение, вы можете скинуть его так, как вам нравится, используя CSS3, и по умолчанию он тоже неплохо выглядит.

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

person Michael Berry    schedule 02.01.2012
comment
о чем вы говорили, не могли бы вы быть немного конкретнее, +1 за удаление сообществом, например, как non_answer - person mKorbel; 03.01.2012
comment
@mKorbel Не уверен, что понимаю тебя? Я говорю, что JavaFX 2.0 может создавать красивые приложения, и, возможно, стоит взглянуть на него как на вариант, поскольку Oracle, похоже, сейчас серьезно к нему относится. - person Michael Berry; 03.01.2012
comment
ну, хорошие мечты, но этот проект выглядит замороженным, как Java7, без прогресса - person mKorbel; 03.01.2012
comment
@mKorbel Откуда ты взяла, что он заморожен ?! Вы смотрите на старую ветку 1.x? JavaFX 2 уже в этом году был значительно обновлен, и здесь указаны сроки его дальнейшего развития: javafx.com/roadmap Точно не заморожен! - person Michael Berry; 03.01.2012
comment
спасибо за информацию, я надеюсь, что будет прогресс, потому что были (начнем с Fx2) гуру Swing, которые долгое время создавали SwingX ... - person mKorbel; 03.01.2012

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

try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
// exit application, log  or ignore exception
}
person Durandal    schedule 28.05.2010