使用哪一个:用于GNOME桌面应用程序的Java Swing或GTK +?

时间:2011-01-22 15:48:53

标签: java linux swing gtk

我正在考虑使用图形用户界面开发GNOME桌面应用程序。我知道GTK +是首选,特别是在为GNOME环境开发时。最终用户还将GTK +视为他们使用的应用程序的首选。但是,我正在考虑未来的改进:如果我的应用程序需要一个端口到另一个环境或操作系统,如KDE或Mac或Windows,该怎么办?哪种方式最好:Java Swing(因为它独立于平台)或GTK +?

4 个答案:

答案 0 :(得分:5)

使用GTK +。它也适用于Windows,如果您想要移植它,并与gnome无限集成。

答案 1 :(得分:4)

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI( this );

在* nix变种上,应该在Swing中产生 GTK PLAF。在Apple(1)上,它可能会在名称中生成一个名为“Aqua”的主题,在Windows(1)上它将类似于“Windows”。

1)我怀疑Windows或Apple用户是否希望看到“GTK外观”应用。在他们的桌面上。 ;)

答案 2 :(得分:3)

我的用户通常更喜欢Swing,但GTK应用程序只是稍微难以维护跨平台。

  

GTK不能在Mac OS X上本机运行;

GTK及其依赖项可以使用MacPorts构建,而流行的开源工具(如GimpInkscape)包含应用程序包中所需的库。

  

需要安装X服务器。

X11 for Mac“与Mac OS X完全集成。”

附录:正如@ptomato所说,portfile提供了Quartz和X11变体。

答案 3 :(得分:1)

答案取决于你真正想要的东西。

GTK库在Gnome环境中是原生的:如果你想为Gnome开发一个应用程序思想,请使用GTK。

如果你对Gnome用户没那么感兴趣,那么就可以使用你想要的任何东西(GTK,Swing,Qt,wx ......)。


顺便说一句,如果你想要我的个人意见,我更喜欢GTK。我个人不喜欢Swing,特别是当它试图模仿GTK的外观时。