我正在考虑使用图形用户界面开发GNOME桌面应用程序。我知道GTK +是首选,特别是在为GNOME环境开发时。最终用户还将GTK +视为他们使用的应用程序的首选。但是,我正在考虑未来的改进:如果我的应用程序需要一个端口到另一个环境或操作系统,如KDE或Mac或Windows,该怎么办?哪种方式最好:Java Swing(因为它独立于平台)或GTK +?
答案 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构建,而流行的开源工具(如Gimp和Inkscape)包含应用程序包中所需的库。
需要安装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的外观时。