如何设置SWT程序组件使用XP Visual Styles

本文介绍了一种解决SWT程序在Windows XP环境下显示Win2000样式的方法。通过在%JAVA_HOME%/bin目录下放置一个配置文件javaw.exe.manifest,并设置特定的XML内容,可以使SWT程序正确采用XP系统的外观主题。

这些天用swt开发的小程序的默认样式是win2000风格,困扰了我许久。在一次切换jdk的时候,偶然发现用1.5编译出的程序风格继承XP,而1.6编译的程序UI风格是win2000,还是找不到根本原因。在Windows XP系统下, SWT开发的按钮就是像 Windows 2000 下面那样的方块按钮, 不能使用 XP 的系统外观主题, 如何显示XP外观呢,请看下文。

今天真想终于大白于天下呵呵,先记录一下解决方案:

1.下载(http://www.eclipse.org/swt/javaw.exe.manifest ) 或者 新建文件javaw.exe.manifest

文件内容如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
 <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="IBM.Eclipse.javaw" type="win32"/> 
 <description>Eclipse IDE</description> 
 <dependency> 
  <dependentAssembly> 
   <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/> 
  </dependentAssembly> 
 </dependency> 
</assembly>

name="Microsoft.Windows.Common-Controls" version="6.0.0.0"

这段代码就是设置组件风格样式的。 

 

2.将javaw.exe.manifest文件复制到 支持程序运行的%JAVA_HOME%/bin 目录下,搞定(*^__^*)

(javaw.exe.manifest文件应该放到javaw.exe的统计目录)

javaw.exe 所在的目录下, 具体可能位置为:
c:\windows\system32\ (如果你安装的时候选择了 JRE, 这里将有一个 java.exe 和 javaw.exe);
c:\Program Files\Java\JRE1.xxx\bin\ (同上);
c:\jdk1.4.2\jre\bin\ (只安装了 JDK).

 

同样的技术, 只要重命名 javaw.exe.manifest 到其它文件名, 例如 myexe.exe.manifest, 就能使一些原来不能显示 XP 外观的老式程序显示新的 XP 外观了

 

参考资料:

http://www.bigresource.com/VB-XP-style-on-windows-2000-EbCdZ9mRMY.html

 

http://msdn.microsoft.com/en-us/library/ms997646.aspx#xptheming_topic2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值