当前位置:  开发笔记 > 编程语言 > 正文

Mac OS X上的Java Swing GUI

如何解决《MacOSX上的JavaSwingGUI》经验,为你挑选了2个好方法。

你有没有尝试过只使用Swing来改变课程,因为它根本无法做到你想要的?

我对Swing很新,仅仅在5年前用于学校项目,但似乎Swing在提供更原生的外观和感觉方面已经走了很长的路,所以我正在考虑用它来开发Mac OS X上的应用程序的GUI.但在此之前,我想看看是否有人遇到任何阻止他们使用Swing的showstopper问题.

在我的头顶,一些可能性:

开发看起来"正确"的自定义组件的问题

与本机应用程序和小部件的错误交互

性能问题(无响应,重新绘制问题)

无法模仿本机行为(如Dock交互)

Kevin Montro.. 8

Swing不会为您提供托管操作系统的完美保真度.Sun根本无法投入必要的大量资源来实现这一目标.我的印象是,Swing已经变得更好了,但是默认情况下仍然看起来不合适.

甚至希望通过Mac应用程序所需的最低要求:

将.jar打包到.app中

将L&F设置为系统默认值

将apple.laf.useScreenMenuBar属性设置为true

必须在任何UI代码之前执行此操作

Dock标准Java中不存在Dock交互.您将不得不使用Apple的Cocoa-Java桥,不再支持它.我不知道JNI在OS X上是多么易处理,这是唯一真正的替代方案.

性能应该不是问题.在OS X上拖放可能和其他地方一样多毛.

基本上,如果您明确定位OS X,最好使用Objective-C.使用Java和Swing在OS X上构建应用程序绝对不可能,但是要让它看起来像"原生",需要做很多工作.



1> Kevin Montro..:

Swing不会为您提供托管操作系统的完美保真度.Sun根本无法投入必要的大量资源来实现这一目标.我的印象是,Swing已经变得更好了,但是默认情况下仍然看起来不合适.

甚至希望通过Mac应用程序所需的最低要求:

将.jar打包到.app中

将L&F设置为系统默认值

将apple.laf.useScreenMenuBar属性设置为true

必须在任何UI代码之前执行此操作

Dock标准Java中不存在Dock交互.您将不得不使用Apple的Cocoa-Java桥,不再支持它.我不知道JNI在OS X上是多么易处理,这是唯一真正的替代方案.

性能应该不是问题.在OS X上拖放可能和其他地方一样多毛.

基本上,如果您明确定位OS X,最好使用Objective-C.使用Java和Swing在OS X上构建应用程序绝对不可能,但是要让它看起来像"原生",需要做很多工作.



2> Csaba_H..:

正如凯文和约翰所说,如果你只针对Mac用户,你应该尝试使用Objective-C,Cocoa和XCode.适用于Mac 的开发人员工具可免费使用.

如果您想(或必须)使用Java和Swing,您可以使用一些库来创建在Mac上看起来很好的GUI:

Quaqua外观和感觉

MacWidgets

要部署应用程序,您应该阅读JarBundler文档.

但是,在这种情况下,与dock和本机应用程序的交互非常有限.

其他一些好的链接是:

使Java/Swing应用程序看起来(更多)像本机Mac OS X应用程序

Java:如何处理drop事件到Mac OS X Dock图标

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有