最近用Swing做几个小软件,找了一些风格包,发现在使用Substance换肤的时候老是出错。搜索了半天才找到原因,原来在使用substance.jar和trident.jar换肤的时候,需要启动一个线程。如下:
public static void main(String[] args) {
//使标题栏的风格也跟着一起改变...
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
//必须要启动这个线程,不然无法达到换肤效果,具体原因我也没深究
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceAutumnLookAndFeel");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Substance Graphite failed to initialize");
}
new MainFrame();
}
});
}
这个风格包下共有27中不同的风格:
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceAutumnLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceBusinessBlackSteelLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceBusinessBlueSteelLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceBusinessLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceChallengerDeepLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceCremeCoffeeLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceCremeLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceDustCoffeeLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceDustLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceEmeraldDuskLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceGeminiLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceGraphiteAquaLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceGraphiteGlassLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceGraphiteLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceMagellanLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceMarinerLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceMistAquaLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceMistSilverLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceModerateLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceNebulaBrickWallLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceNebulaLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceOfficeBlack2007LookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceOfficeBlue2007LookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceOfficeSilver2007LookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceRavenLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceSaharaLookAndFeel");
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceTwilightLookAndFeel");
在使用的时候substance.jar和trident.jar这两个jar包都要一起引入...
在这里都共享了,免得大家找了。
JTattoo包中的其中一种风格:
- 描述: JTattoo包中的其中一种风格
- 大小: 261.2 KB
分享到:
相关推荐
Substance库是一个强大的Java Swing外观(LookAndFeel)框架,...通过正确引入和使用"substance5.2.jar",以及参考"使用方法.txt"中的指南,你可以充分利用Substance的功能,提升你的Java应用的视觉吸引力和用户体验。
2. `Readme.txt`:这个文件通常包含关于如何使用 Substance 的说明和指导。可能包括如何引入库,如何设置主题,以及可能存在的兼容性问题和注意事项等。阅读这个文件是了解 Substance 如何工作并成功集成到你的 ...
为了使用Substance,开发者需要将JAR文件添加到项目的类路径中,然后在代码中导入必要的包,并调用相关方法设置界面风格。例如,以下代码可以设置应用程序使用Substance的某一主题: ```java import org....
通过使用Substance,开发者能够轻松地改变其应用程序的界面风格,使其更具个性和专业感。 Substance 提供了一系列预定义的主题,这些主题覆盖了各种样式,从经典的Windows和Mac OS X样式到自定义的、现代的设计。它...
对于开发者来说,阅读这个文件非常重要,因为它可以帮助理解如何正确集成和使用Substance库,避免遇到潜在问题。 总的来说,Substance.jar 提供了一个强大的工具,让Java开发者能够轻松地美化他们的应用程序,提升...
在探讨“Java皮肤包加上使用方法”的过程中,我们需要理解几个核心概念:什么是皮肤包、如何在Java中使用皮肤包以及具体的实现方式。 ### 一、什么是Java皮肤包 Java皮肤包,通常指的是用于改变Java Swing应用程序...
3. 如果使用了SwingX组件,确保正确导入和初始化它们。 通过这个压缩包,开发者可以快速地为他们的Swing应用换上新的外观,同时还能利用SwingX库增强功能。只需简单几步,就可以实现应用的个性化和专业化的视觉效果...
2. **正确使用方法**: - 使用`SwingUtilities.invokeLater()`来异步执行UI更新任务。这通常用于在后台线程完成计算后更新UI。 - 使用`SwingUtilities.invokeAndWait()`来同步执行UI更新任务。这种方法会在EDT可用...
此外,还可以使用第三方库如JGoodies或 Substance来改变整体风格。 8. **程序结构与设计模式**:良好的代码结构和设计模式应用,如MVC(模型-视图-控制器)模式,可以帮助我们分离界面逻辑和业务逻辑,使代码更易于...
在Java的Swing库中,用户界面的外观(LookAndFeel)是一个关键方面,它决定了应用程序的视觉风格和感觉。Swing提供了多种方式来定制和改变应用程序的外观,使其更符合用户的偏好或操作系统环境。以下是关于Swing外观...
这里使用了第三方库`jVNet Substance`,它提供了丰富的皮肤选择。例如,`SubstanceTerracottaTheme`创建了一个陶土风格的主题,增强了用户界面的视觉效果。 `showPerson()`方法用于显示抽奖人员名单。这里采用了`...
然而,AWT的控件外观受限于操作系统的主题,无法提供统一的跨平台体验。Swing则是在AWT之上构建的,它使用纯Java实现,因此提供了更好的跨平台一致性。Swing组件不仅比AWT更丰富,还支持自定义外观,这使得实现换肤...
Swing内置了几种LookAndFeel,包括Metal(默认的Java Look and Feel)、Motif和Windows,也可以使用第三方库如Nimbus或 Substance 来实现更丰富的视觉效果。 在实际开发中,我们还需要考虑线程管理。Swing不是线程...
本项目中使用了`substance.jar`。 #### 四、详细设计 **1\. 功能模块划分** 根据需求分析,项目被划分为以下四个主要功能模块: - 歌曲列表 - 播放控制 - 搜索功能 - 音乐库管理 这些模块分别对应酷狗音乐...
Java提供两种内置的LookAndFeel:Metal(默认的Java风格)和WindowsLookAndFeel,也可以集成第三方的LookAndFeel,如Nimbus或 Substance。 除此之外,Swing还提供了JTable、JTree和JList等组件,用于展示和操作表格...