Mac OS X上的Java Swing GUI

您是否曾经尝试过使用Swing只是因为无法完成您想做的事情而最终改变路线?

我是Swing的新手,仅在5年前就将它用于学校项目,但是Swing似乎在提供更原生的外观和感觉上已经走了很长一段路,以至于我考虑使用它来开发Mac OS

X上的应用程序的GUI。但是,在此之前,我想查看是否有人遇到任何阻碍他们使用Swing的showtopper问题。

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

  • 开发看起来“正确”的自定义组件时出现问题
  • 与本机应用程序和小部件的交互不良
  • 性能问题(无响应,重涂问题)
  • 无法模仿本地行为(例如Dock交互)

回答:

Swing不会为您提供托管操作系统的完美保真度。Sun根本无法投入必要的大量资源。我的印象是Swing变得更好了,但默认情况下仍然会显得格格不入。

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

  • 将您的.jar打包到.app中
  • 将L&F设置为系统默认值
  • 将apple.laf.useScreenMenuBar属性设置为true

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

在标准Java中不存在Dock交互。您将必须使用不再支持的Apple Cocoa-Java桥。我不知道OS X上JNI的处理能力如何,这是唯一的替代选择。

性能应该不是问题。拖放在OS X上可能像在其他地方一样繁琐。

基本上,如果您明确地以OS X为目标,那么最好使用Objective-C。使用Java&Swing在OS

X上构建应用程序几乎是不可能的,但是要使它看起来像“本机”要付出很多努力。

以上是 Mac OS X上的Java Swing GUI 的全部内容, 来源链接: utcz.com/qa/429518.html

回到顶部