NetBeans的ALT + TAB

NetBeans

NetBeans

NetBeans 6.5 发布有一阵子了,受JavaEye的蛊惑,用它做了ROR的首席IDE。距离上次告别NetBeans已经是过去了3年的时间了。

用了一阵子,觉得NetBeans对ROR的支持还算不错。配以JDK 6u11,解决了字体锯齿问题,不论是英文还是中文,显得好看一些了。这里有一篇如何如何修改JDK的字体配置,以便让NetBeans代码中英文使用Courser New字体(Eclipse默认字体,显示英文代码首选字体),中文使用微软雅黑的字体,设置后以后,感官非常好。

不过,很快就发现了一个问题,让人很不爽。就是当我用ALT+TAB切换到其他窗口,例如从NetBeans切换到Firefox, 然后再用ALT+TAB切换回来的时候,发现NetBeans的编辑器丢失了编辑焦点,不知道怎么搞得焦点到了菜单上,反反复复让人十分恼火。

这到底是怎么一回事情,这么一个明显的问题,难道就我一个人遇到?肯定不是,于是上网搜搜,中文搜索出来的结果是也有人遇到类似问题,但是没人给出答案,用英文搜索发现了一条重要信息,一个老外也是遇到了相同的问题,幸运的是,他找到了原因。

这个问题貌似是随机的,其实不然。事实上,如果你是按照这样一个顺序来操作:

  1. 按下ALT键
  2. 按下TAB键
  3. 松开TAB键
  4. 松开ALT键

NetBeans表现是正常的,焦点是不会丢失的。但是如果你是这么操作的:

  1. 按下ALT键
  2. 按下TAB键
  3. 松开ALT键
  4. 松开TAB键

NetBeans就会把焦点定位在菜单栏。

让人遗憾的是,在我使用过的软件中,除了NetBeans,都不会发生上面这种情况,我也敢肯定我松开ALT和TAB实在是太快了,快到了我实在没办法确定到底是哪个键先被释放的。一个简单的解决之道就是先慢慢松开TAB,然后再松开ALT。

像这种问题,让人不得不质疑SUN/NetBeans的人员是不是自己有用NetBeans,只要用一用就能发现问题,或者是我太笨了,是从火星上来的。

最后说一句,NetBeans的默认配色方案还要再改进改进。

后记:终于无法忍受这个问题,继续搜索,结果发现这个问题是由于JDK的BUG引发的,早在JDK 5 就有人提出了这个BUG,但是让人郁闷的是,到了JDK 6,已经过去两年多了,SUN那帮人还是没能解决,据说还要到JDK 7 再解决。幸运的是,我找到了一个解决方法,就是使用Metal的Look and Feel就不会有这个问题了,具体方法就是在NetBeans的启动参数里加上:

–laf javax.swing.plaf.metal.MetalLookAndFeel

Metal的感官还是不错的,很清凉!

Leave a comment

Your comment