2008-09-19 235 views
19

由于Java 6中有一个类java.awt.Desktop。有一些很好的方法,但是在所有平台上都不支持该类。该方法java.awt.Desktop.getDesktop()抛出不支持java.awt.Desktop.getDesktop的平台()

java.lang.UnsupportedOperationException:桌面API不是当前平台

在某些平台上支持 。或者方法java.awt.Desktop.isDesktopSupported()返回false。

我知道它可以在Windows XP,Windows 2003和Windows Vista上运行。问题是不支持哪个平台?

回答

8

报价:

桌面API的开发是为了只

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6486393

article支持 的Windows和Gnome但是说,即使支持Gnome是在Fedora上有缺陷。

+0

我可以证实它工作在Ubuntu 9.10,10.04和10.10 – 2011-03-29 09:51:25

+0

您是否知道是否有计划将此功能移植到其他操作系统? – Pacerier 2011-11-18 06:59:25

3

也适用于OS X。

+1

它不适用于OS X 10.8。 – 2013-12-09 23:30:55

3

无论在gnome还是fvwm中,在当前的Debian(squeeze)中都不起作用。 我没有尝试kde。

此错误可阻止最新版本的limewire启动。堆栈输出为:

致命错误!

java.lang.ExceptionInInitializerError 在com.limegroup.gnutella.gui.Initializer $ 6.run(来源不明)

.......

引起:java.lang.UnsupportedOperationException :当前平台不支持系统托盘。 at java.awt.SystemTray.getSystemTray(SystemTray.java:151)

2

那么它的不支持到Ubuntu 12.04和它给这样的错误。

java.lang.UnsupportedOperationException: The system tray is not supported on the current platform. 
2

解决它在Ubuntu上运行的下一个命令:

apt-get install libgnome2-0 
0

在Arch Linux的,我必须安装AUR libgnome包