Можем ли мы разработать очень красивый интерфейс в разгаре, и если нет, то какие есть альтернативы? - PullRequest
23 голосов
/ 28 мая 2010

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

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

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

Какие есть еще альтернативы?

Ответы [ 6 ]

25 голосов
/ 28 мая 2010

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

Я рекомендую книгу Filthy Rich Clients * Chet Haase и Romain Guy , если вы хотите узнать, как создавать хорошие приложения Swing GUI.

9 голосов
/ 28 мая 2010

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

8 голосов
/ 28 мая 2010

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

Посмотрите на снимки экрана:

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

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

enter image description here

5 голосов
/ 28 мая 2010

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

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

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

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

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

2 голосов
/ 02 января 2012

Не трогайте JavaFX 1 баржа.

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

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

1 голос
/ 28 мая 2010

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

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