Answers:
LaF有很多可能性:
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
您可以尝试我正在开发的L&F- WebLaF
它结合了成功进行UI开发所需的三个部分:
二进制文件: https : //github.com/mgarin/weblaf/releases
来源: https : //github.com/mgarin/weblaf
许可: GPLv3和商业版
一些示例显示一些WebLaF组件的外观:
我开始使用全新的L&F的主要原因是大多数现有L&F缺乏灵活性-在大多数情况下您无法重新设置样式(在最佳情况下只能更改一些颜色并打开/关闭一些UI元素), /或只有不便的方法可以做到这一点。在自定义/第三方组件样式方面,情况甚至更糟-它们看起来与某些特定L&F样式的其他组件不相似,甚至完全不同-这使您的应用程序看起来不专业且令人不愉快。
我的目标是提供一个完全可自定义的L&F,其中包含一包其他广为人知且有用的组件(例如:日期选择器,树表,可停靠和文档窗格以及许多其他组件)以及其他有用的管理器和实用程序,这将减少快速将WebLaF集成到应用程序中并使用Swing帮助创建出色的UI所需的大量代码。
您也可以使用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);
}
}
}
}
}