`
kinganpo
  • 浏览: 51345 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于Substance风格包无法正确使用的问题

阅读更多
最近用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包中的其中一种风格:




  • trident.jar (103.1 KB)
  • 描述: trident.jar
  • 下载次数: 418
  • 描述: JTattoo包中的其中一种风格
  • 大小: 261.2 KB
分享到:
评论
1 楼 970655147 2015-11-28  
感谢分享  [size=x-big]

相关推荐

    substance jar包和使用说明

    Substance库是一个强大的Java Swing外观(LookAndFeel)框架,...通过正确引入和使用"substance5.2.jar",以及参考"使用方法.txt"中的指南,你可以充分利用Substance的功能,提升你的Java应用的视觉吸引力和用户体验。

    substance美化包java swing

    2. `Readme.txt`:这个文件通常包含关于如何使用 Substance 的说明和指导。可能包括如何引入库,如何设置主题,以及可能存在的兼容性问题和注意事项等。阅读这个文件是了解 Substance 如何工作并成功集成到你的 ...

    substance-4.3与5.3版本.zip

    为了使用Substance,开发者需要将JAR文件添加到项目的类路径中,然后在代码中导入必要的包,并调用相关方法设置界面风格。例如,以下代码可以设置应用程序使用Substance的某一主题: ```java import org....

    substance 6.2

    通过使用Substance,开发者能够轻松地改变其应用程序的界面风格,使其更具个性和专业感。 Substance 提供了一系列预定义的主题,这些主题覆盖了各种样式,从经典的Windows和Mac OS X样式到自定义的、现代的设计。它...

    substance.jar

    对于开发者来说,阅读这个文件非常重要,因为它可以帮助理解如何正确集成和使用Substance库,避免遇到潜在问题。 总的来说,Substance.jar 提供了一个强大的工具,让Java开发者能够轻松地美化他们的应用程序,提升...

    java皮肤包 加上使用方法

    在探讨“Java皮肤包加上使用方法”的过程中,我们需要理解几个核心概念:什么是皮肤包、如何在Java中使用皮肤包以及具体的实现方式。 ### 一、什么是Java皮肤包 Java皮肤包,通常指的是用于改变Java Swing应用程序...

    不错的Swing皮肤包,只用加一句话就可以了,内有一句话使用方法

    3. 如果使用了SwingX组件,确保正确导入和初始化它们。 通过这个压缩包,开发者可以快速地为他们的Swing应用换上新的外观,同时还能利用SwingX库增强功能。只需简单几步,就可以实现应用的个性化和专业化的视觉效果...

    你所不知道的五件事情--改进Swing(译) - Jiangshachina

    2. **正确使用方法**: - 使用`SwingUtilities.invokeLater()`来异步执行UI更新任务。这通常用于在后台线程完成计算后更新UI。 - 使用`SwingUtilities.invokeAndWait()`来同步执行UI更新任务。这种方法会在EDT可用...

    java图形化界面实现简单计算器.pdf

    此外,还可以使用第三方库如JGoodies或 Substance来改变整体风格。 8. **程序结构与设计模式**:良好的代码结构和设计模式应用,如MVC(模型-视图-控制器)模式,可以帮助我们分离界面逻辑和业务逻辑,使代码更易于...

    Swing外观 Swing Applet 外观

    在Java的Swing库中,用户界面的外观(LookAndFeel)是一个关键方面,它决定了应用程序的视觉风格和感觉。Swing提供了多种方式来定制和改变应用程序的外观,使其更符合用户的偏好或操作系统环境。以下是关于Swing外观...

    java抽奖小程序

    这里使用了第三方库`jVNet Substance`,它提供了丰富的皮肤选择。例如,`SubstanceTerracottaTheme`创建了一个陶土风格的主题,增强了用户界面的视觉效果。 `showPerson()`方法用于显示抽奖人员名单。这里采用了`...

    Swing换肤——JavaSE技术

    然而,AWT的控件外观受限于操作系统的主题,无法提供统一的跨平台体验。Swing则是在AWT之上构建的,它使用纯Java实现,因此提供了更好的跨平台一致性。Swing组件不仅比AWT更丰富,还支持自定义外观,这使得实现换肤...

    精通Java Swing程序设计

    Swing内置了几种LookAndFeel,包括Metal(默认的Java Look and Feel)、Motif和Windows,也可以使用第三方库如Nimbus或 Substance 来实现更丰富的视觉效果。 在实际开发中,我们还需要考虑线程管理。Swing不是线程...

    简单音乐播放器

    本项目中使用了`substance.jar`。 #### 四、详细设计 **1\. 功能模块划分** 根据需求分析,项目被划分为以下四个主要功能模块: - 歌曲列表 - 播放控制 - 搜索功能 - 音乐库管理 这些模块分别对应酷狗音乐...

    JavaSwing

    Java提供两种内置的LookAndFeel:Metal(默认的Java风格)和WindowsLookAndFeel,也可以集成第三方的LookAndFeel,如Nimbus或 Substance。 除此之外,Swing还提供了JTable、JTree和JList等组件,用于展示和操作表格...

Global site tag (gtag.js) - Google Analytics