Java是否允许您在Mac OS X上使用本机UI小部件?

如果我在java中编写应用程序,如果在Mac OS X上运行,它是否使用本机小部件? 或者它是否使用java运行时提供的“相似”小部件?

谢谢。

您可以使用在OS X上使用本机OS X控件的SWT ,但也保持多平台(前提是该平台具有为其编译的SWT库)。 但是,它不像直接访问UI组件本身那样灵活或看起来不错(必须进行抽象)。

替代文字

您还可以查看MacWidgets ,它试图像本机OS X小部件,但不是,但跨平台工作。

替代文字http://exploding-pixels.com/google_code/graphics/MailSourceListWithControlBar-selection.png

是。 Apple提供jvm版本,它使用本机小部件。

developer.apple.com/business/macmarket/tekadence.html

Apple Java实现的好处包括通过Swing“免费”访问Aqua用户界面元素,本机抢占式多任务处理,多处理支持(无需额外编码),以及将JAR文件视为共享库。 最后一次改进提高了执行速度,并减少了依赖于相同存档的应用程序的RAM占用空间,例如套件中的应用程序。 此外,Mac OS X将Java窗口工具包直接插入Mac的本机窗口工具包,为Java应用程序和applet提供Quartz的图形性能优势,Quartz是Mac OS X上三种强大的图形技术之一。

所有Java Swing组件都是相似的,而不是本机小部件 。

Swing的可配置性是选择不使用本机主机操作系统的GUI控件来显示自身的结果。 Swing通过使用Java 2D API以编程方式“绘制”其控件,而不是调用本机用户界面工具包。

Apple JVM提供了一种OSX外观,但它实际上并不是本机控件。 另一种方法是SWT ,但老实说,除了Eclipse之外我还没有看过很多应用程序,我从来没有真正发现它们看起来非常好。