美化Mac上的SWT应用程序

Mar*_*ark 5 java macos swt

SWT旨在实现跨平台,因此可以在Mac上运行.问题是它承认了麦克兰的主要罪行 - 它是UGLY.工具栏看起来不像Mac工具栏,状态栏看起来不像Mac状态栏等.

有没有人有任何使SWT应用程序看起来更像Mac应用程序的经验?例如,通过SWT中的"OS"类进行特定于平台的JNI调用?如果是这样,它有多难?

(出现这个问题是因为我们正在考虑移植一个旨在在Windows上运行的现有SWT应用程序)

谢谢

fik*_*nik 6

这通常是Swing而不是SWT的问题(SWT直接链接到OS /框架提供的小部件) - 来自对SWT和JFace 2的温和介绍:

SWT是一个库,用于创建本机主机操作系统GUI控件的Java视图.它取决于主机实现.这意味着基于SWT的应用程序具有以下几个关键特征:1.它们的外观,行为和执行类似于"本机"应用程序. 2. 提供的小部件反映了主机操作系统上提供的小部件(组件和控件). 3.主机GUI库的任何特殊行为都反映在SWT GUI中.

前3.5里程碑用于使用Carbon框架,现在3.5+支持32/64bit Cocoa框架1,所以这可能会让你感到困惑?或者你可以更具体,给我们你使用的版本和一些截图/示例代码重现?

我一直在OSX上开发基于SWT/Eclipse RCP的java应用程序,并且没有找到外观和主要问题(因为它不符合Apple HID 3,因为它符合Eclipse UIG)


wil*_*ood 1

我能提供的最好的方案是使用MacWidgetsQuaqua,它们都是免费的,并且处于不同的成熟阶段。坏消息是它们都是基于 Swing 的,这可能不是您想听到的。