Ответ 1
Посмотрите на изменение Look and Feel вашей Java-программы. Это позволяет вам настроить общую "тему" вашей программы. Здесь - информация об изменении LAF.
Аналогичные вопросы к этому задаются периодически, но многие из этих ответов устарели.
Мне нужно создать кросс-платформенное настольное приложение на Java с графическим интерфейсом сопоставимого качества с современными настольными приложениями.
Swing - это выбор по умолчанию, но мне еще предстоит встретить приложение Swing, которое не выглядело, по крайней мере, довольно устаревшим и неуклюжим (субъективно, я знаю, но с GUI трудно избежать эстетических суждений).
Я заметил, что новый клиент Bitcoin теперь использует QT с привязками Java и имеет привлекательный пользовательский интерфейс, но это имеет тот недостаток, что он не является более чистой Java.
Значительная часть того, что я нахожу при поиске библиотек, связанных с Swing, составляет 5 лет или старше, хотя эстетика настольных приложений значительно изменилась с тех пор.
Если вам нужно было создать настольное приложение Java с нуля, что бы вы использовали для его графического интерфейса?
Посмотрите на изменение Look and Feel вашей Java-программы. Это позволяет вам настроить общую "тему" вашей программы. Здесь - информация об изменении LAF.
Я также могу предложить вам новый LaF для изучения - WebLaF. В настоящее время я работаю над этим, чтобы принести много возможностей пользовательского интерфейса и сделать работу с Swing намного проще для всех, просто используя основные функции библиотеки WebLaF.
Несколько примеров, показывающих, как выглядят некоторые из компонентов WebLaF:
Некоторые из основных целей, на которые я нацеливаюсь:
Библиотека WebLaF также предлагает несколько других преимуществ и уникальных возможностей:
Вы можете попробовать демонстрационное приложение чтобы узнать, является ли оно современным и достаточно простым:)
Вы просмотрели JavaFX 2.0? Он разработан, чтобы легко взаимодействовать с Swing и имеет множество современных "хороших" элементов управления.
Кроме того, как упоминает lrAndroid, приложение Swing может выглядеть как родное приложение, если вы установите систему с помощью:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Современные рамки Javascript (ExtJS, Dojo и т.д.) предлагают одинаковое богатство виджетов или больше (например, такие как Excel, например, сетки), более широкий набор L & F и обычно лучше подходят для ОС пользователя, Пользователи также очень удобны в своих браузерах и, эй, "современные вещи" находятся в Интернете, а современная сеть сегодня - HTML + Javascript.
Накладные расходы на преобразование приложения в "web like" минимальны. Встроенный Jetty может оставаться очень маленьким, а дисковое пространство стало намного меньше.
Есть дополнительные преимущества, идущие вниз по этому маршруту для будущих изменений приложения.
ИЗМЕНИТЬ
Через 3 года это стало чрезвычайно простым благодаря Electron
Попробуйте выполнить одно из следующих действий:
Как насчет Nimbus? Oracle Link Также рассмотрите SO-Question
Я знаю, что этот вопрос старый, но если вы не хотите использовать FX и все еще хотите использовать Swing, попробуйте MacWidgets, я использовал его в нескольких проектах. Он очень легкий и выглядит великолепно. Ниже представлен старый проект, над которым я работал, со временем я улучшил использование macwidgets и теперь использую его внутри своей компании.
http://www.digitalhand.net/projects/jdataanalyzer/mainGUI.png
QT довольно обширен, но также очень большой (раздутый) и сложный. Кроме того, в SWT-библиотеке используется, например, открытый офис. SWT использует собственные виджеты пользовательского интерфейса для кнопок, таблиц и т.д., Где Swing имитирует их.
Тем не менее, тенденция явно направлена на создание богатых клиентских приложений для браузера с использованием HTML и Javascript. За последние несколько лет они достигли огромных успехов.
HTML5 специально нацелен на богатые клиентские приложения с такими функциями, как лучшие формы и локальная база данных для поддержки отключенных сценариев (обратите внимание, что эта последняя функция еще не стандартизирована, но реализована всеми последними браузерами).
Javascript теперь имеет мощные библиотеки с jQuery и множество плагинов. Существуют даже такие языки, как Coffeescript, которые можно использовать для создания Javascript с более простым и мощным синтаксисом.
Также нет необходимости подключать такие приложения к внешнему серверу. На клиентском компьютере могут быть установлены локальные серверы небольшого размера (например: jetty, node.js,...) и базы данных (SQLite, H2,...) для создания полностью автономного приложения.