我正在 OSX 上开发 Java Swing 应用程序,我希望它看起来尽可能像 Mac。我已经实现了大部分所需的外观,但仍有一件事让我难以理解。
这是标题栏。许多 native OSX 应用程序都有一个带有“工具栏按钮”的“高”标题栏和一个小按钮来切换显示/隐藏右上角的“工具栏按钮”(参见 FeedForAll 应用程序的图像,它是 Java 但使用 SWT) .
有什么想法可以实现吗?任何帮助或指示将不胜感激。
最佳答案
在 Swing 中,实际上并没有使用 native 操作系统组件。 Mac 上默认的“Aqua”外观试图尽可能匹配本地外观,但它实际上只是用 Java2D 绘制东西。因此,例如,未实现默认按钮的脉冲发光。
您可以在窗口上设置一些客户端属性来影响其外观,但“标题工具栏”似乎不是一个选项:
http://developer.apple.com/library/mac/#technotes/tn2007/tn2196.html#//apple_ref/doc/uid/DTS10004439
一种选择是改用 Quaqua 外观。我自己没有用过它,但据说它比 Aqua 更忠实于 Mac 的外观。它有一个属性,您可以设置它以获得您想要的工具栏外观:
http://www.randelshofer.ch/quaqua/guide/client_properties.html#JToolBar
关于Java Swing Mac OSX 标题栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8746148/