Я разрабатываю настольное приложение на Java Swing для личного пользования. Мне нужно красивое приложение Look and Feel для моего приложения. Как я могу сделать это с помощью Java или стороннего API?
Я разрабатываю настольное приложение на Java Swing для личного пользования. Мне нужно красивое приложение Look and Feel для моего приложения. Как я могу сделать это с помощью Java или стороннего API?
Ответы:
Есть много возможностей для LaFs:
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
параметр в вызов Java.
Вы можете попробовать L & F, который я разрабатываю - WebLaF
Он объединяет три части, необходимые для успешной разработки пользовательского интерфейса:
Двоичные файлы: https://github.com/mgarin/weblaf/releases
Источник: https://github.com/mgarin/weblaf
Лицензии: GPLv3 и коммерческие
Несколько примеров, показывающих, как выглядят некоторые компоненты WebLaF:
Основная причина, по которой я начал с совершенно нового L & F, заключается в том, что большинству существующих L & F не хватает гибкости - в большинстве случаев вы не можете изменить их стиль (вы можете изменить только несколько цветов и включить / выключить некоторые элементы пользовательского интерфейса в лучшем случае) и / или есть только неудобные способы сделать это. Еще хуже, когда дело доходит до нестандартного / стороннего стиля компонентов - они не похожи на другие компоненты, стилизованные под какой-то конкретный L & F, или даже совсем другие - что делает ваше приложение непрофессиональным и неприятным.
Моя цель состоит в том, чтобы предоставить полностью настраиваемый L & F с пакетом дополнительных широко известных и полезных компонентов (например, средства выбора даты, таблицы дерева, панели документов и много других), а также дополнительные полезные менеджеры и утилиты, которые уменьшат объем кода, необходимый для быстрой интеграции WebLaF в ваше приложение и помощи в создании потрясающих интерфейсов с использованием Swing.
Вы также можете использовать JTattoo ( http://www.jtattoo.net/ ), у него есть несколько интересных тем, которые можно использовать.
Просто скачайте jar и импортируйте его в ваш путь к классам, или добавьте его как зависимость maven:
<dependency>
<groupId>com.jtattoo</groupId>
<artifactId>JTattoo</artifactId>
<version>1.6.11</version>
</dependency>
Вот список некоторых интересных тем, которые у них есть:
С уважением
Вот код, который создает диалог, который позволяет пользователю вашего приложения изменять внешний вид в зависимости от систем пользователя . В качестве альтернативы, если вы можете хранить требуемый внешний вид в своем приложении, они могут быть «переносимыми», что является желаемым результатом.
public void changeLookAndFeel() {
List<String> lookAndFeelsDisplay = new ArrayList<>();
List<String> lookAndFeelsRealNames = new ArrayList<>();
for (LookAndFeelInfo each : UIManager.getInstalledLookAndFeels()) {
lookAndFeelsDisplay.add(each.getName());
lookAndFeelsRealNames.add(each.getClassName());
}
String changeLook = (String) JOptionPane.showInputDialog(this, "Choose Look and Feel Here:", "Select Look and Feel", JOptionPane.QUESTION_MESSAGE, null, lookAndFeelsDisplay.toArray(), null);
if (changeLook != null) {
for (int i = 0; i < lookAndFeelsDisplay.size(); i++) {
if (changeLook.equals(lookAndFeelsDisplay.get(i))) {
try {
UIManager.setLookAndFeel(lookAndFeelsRealNames.get(i));
break;
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
err.println(ex);
ex.printStackTrace(System.err);
}
}
}
}
}