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

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

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

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

каковы другие альтернативы для этого?

6 ответов


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

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


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


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

посмотрите на снимки экрана по адресу:

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

Нимбус новый взгляд и чувство которое приобретает популярность, и оно смотрит очень профессиональным ИМО:

enter image description here


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

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

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

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

Btw для достижения оптимальных результатов в Swing, выбор хорошего менеджера макета имеет важное значение - я рекомендую вам иметь посмотри на Всемогущего!--21-->макет МиГ.


Не прикасайтесь к JavaFX 1 с bargepole.

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

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


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

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