gpt4 book ai didi

java - 如何在Java/Swing 应用程序中使用Windows XP 主题?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:50:00 25 4
gpt4 key购买 nike

我必须在我的 Java/Swing 项目中使用 Windows XP 主题。有如下类。

com.sun.java.swing.plaf.windows.WindowsLookAndFeel

WindowsLookAndFeel 可以在有人想要使用与用户当前应用的相同主题时使用。

com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel

WindowsClassicLookAndFeel 可以在有人想专门使用 windows 经典主题时使用。

当我们将 Windows 的主题从 XP 更改为经典时,swing UI 也会从 XP 更改为经典。我们如何使用上述类强制执行它?

最佳答案

我一般用这条线

javax.swing.UIManager.setLookAndFeel( javax.swing.UIManager.getSystemLookAndFeelClassName());

因为如果您在另一个系统中运行该应用程序,您可能没有 Windows 的外观和感觉。

或者你可以使用这个:

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("<lookAndFeelName>".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}

因为这样的话,如果你想强制windows Look and feel你应该验证这个lookAndFeel是否存在

或者你有 2 个很好的方法来设置 lookAndFeel 而不检查是否存在:

try {
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
} catch (ClassNotFoundException ex) {
//Handle Exception
} catch (InstantiationException ex) {
//Handle Exception
} catch (IllegalAccessException ex) {
//Handle Exception
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
//Handle Exception
}

或者简单地说:

try {
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
} catch (Exception ex) {
//Handle Exception
}

WindowsLookAndFeel 和 WindowsClassicLookAndFeel 之间的区别在于,“WindowsLookAndFeel”将对应于用户 Windows 主题,而“WindowsClassicLookAndFeel”将强制 java 应用程序 GUI 匹配 Windows 经典主题,即使用户没有将其 Windows 主题设置为经典。

因此您可以强制使用经典主题,但不能强制使用 Windows 经典主题的 Vista/7 LookAndFeel。

或者您可以将您的应用程序设计成任何类似 Vista/7 LookAndFeel 的东西(开玩笑)

关于java - 如何在Java/Swing 应用程序中使用Windows XP 主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16459758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com