你有没有尝试过只使用Swing来改变课程,因为它根本无法做到你想要的?
我对Swing很新,仅仅在5年前用于学校项目,但似乎Swing在提供更原生的外观和感觉方面已经走了很长的路,所以我正在考虑使用它是为Mac OS X上的应用程序开发GUI。不过,在我这样做之前,我想看看是否有人遇到任何妨碍他们使用Swing的showstopper问题。
在我的脑海中,有一些可能性:
答案 0 :(得分:8)
Swing不会让您在托管操作系统中获得完美的保真度。 Sun根本无法投入必要的大量资源来实现这一目标。我的印象是,Swing已经变得更好了,但是默认情况下仍然看起来不合适。
甚至希望传递为Mac应用程序所需的最低要求:
标准Java中不存在Dock交互。您将不得不使用Apple的Cocoa-Java桥,不再支持它。我不知道JNI在OS X上是多么容易处理,这是唯一真正的替代方案。
性能应该不是问题。拖拽在OS X上,Drop可能和其他地方一样多毛。
基本上,如果您明确定位OS X,那么最好使用Objective-C。使用Java和Linux在OS X上构建应用程序绝非易事。 Swing,但它的大量工作使它看起来“原生”。
答案 1 :(得分:6)
正如凯文和约翰所说,如果你只针对Mac用户,你应该尝试使用Objective-C,Cocoa和XCode。 Mac的developer tools免费提供。
如果你想(或不得不)使用Java和Swing,你可以使用一些库来创建一个在Mac上看起来很好的GUI:
要部署您的应用程序,您应该阅读JarBundler文档。
但是,在这种情况下,与dock和本机应用程序的交互非常有限。
其他一些好的链接是:
答案 2 :(得分:4)
@Kevin ++
使用Cocoa可能更好
如果您打算分发Windows,Linux等应用程序,Swing是一个不错的选择。它更好,但在任何工具包中仍然存在问题。你永远不会得到一个真正的原生外观和感觉,同样适用于声称是“跨平台”的类似UI工具包。
可以找到Apple开发的Java指南here。
答案 3 :(得分:0)
Swing是一个很好的方式,或者你可以去SWT,或者两个人!
但不管怎样,在RCP平台上使用它们。 (使用Eclipse或Netbeans)。
看看这个:http://www.adam-bien.com/roller/abien/entry/eclipse_rcp_vs_netbeans_rcp
马
答案 4 :(得分:0)
Macify可以提供帮助。