Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1430206
  • 博文数量: 823
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5002
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-28 17:39
文章分类

全部博文(823)

文章存档

2011年(1)

2008年(822)

我的朋友

分类: LINUX

2008-08-28 17:50:31

 
环境:
Ubuntu7.10
Java6
netbeans-6.0.1-ml-linux

用netbeans新建一个"Java桌面应用程序"(JavaDesktopApplication),全部默认,编译成功,但是无法运行,会显示如下错误提示(重点部分):

Couldn''tsetLookandFeelApplication.lookAndFeel="system"
java.lang.NullPointerException....

Exceptioninthread"AWT-EventQueue-0"java.lang.Error:Applicationclassdesktopapplication1.DesktopApplication1failedtolaunch
atorg.jdesktop.application.Application$1.run(Application.java:177)...

原因在于java窗口程序套用GTK布景主题(GTKLookAndFeel)。Netbeans6的窗口化程序的默认情况下LookandFeel会直接套用操作系统的环境值。这个问题也会同时存在其他使用JavaGUI GTK的环境。最快修复这个问题的办法是更改该方案Properties->DesktopApp->Look&Feel值从"SystemDefault"->"JavaDefault"即可。但是这样的话,程序将不能套用系统的主题。

另一个较好的解决办法就是设置全局字体:
class=codetop>CODE:class=codemain>/**
*Mainmethodlaunchingtheapplication.
*/
publicstaticvoidmain(String[]args){
setUIFont(newFontUIResource("Sans",0,12));
launch(TransportApp.class,args);
}

/**
*设置全局字体
*注:在使用系统缺省外观的情况下,Swing在GTK下会发生
*Couldn''tsetLookandFeelApplication.lookAndFeel="system"
*java.lang.NullPointerException异常,导致程序退出。
*在UIManager.setLookAndFeel之前,设置全局字体,就可以解决该问题。
*@paramf字体
*/
publicstaticvoidsetUIFont(javax.swing.plaf.FontUIResourcef){
//setUIFont(newjavax.swing.plaf.FontUIResource("Sans",java.awt.Font.PLAIN,9));
Enumerationkeys=UIManager.getDefaults().keys();
while(keys.hasMoreElements()){
Objectkey=keys.nextElement();
Objectvalue=UIManager.get(key);
if(valueinstanceofFontUIResource){
UIManager.put(key,f);
}
}
}


解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常解决NetBeans 6开发的Java桌面应用程序在GNOME/GTK下NullPointerException异常
阅读(735) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~