繁体   English   中英

Java Swing Mac OSX标题栏

[英]Java Swing Mac OSX Title Bar

我正在开发OSX上的Java Swing应用程序,我希望它尽可能像Mac-Like一样出现。 我已经取得了大部分想要的外观,但有一件事仍然无法实现。

这是标题栏。 许多原生OSX应用程序都有一个带有“工具栏按钮”的“高”标题栏和一个用于在右上角切换显示/隐藏“工具栏按钮”的小按钮(请参阅FeedForAll应用程序的图像,该应用程序是Java但使用SWT) 。

FeedForAll应用程序窗口顶部显示Mac-Like标题栏

任何想法如何实现这一目标? 任何帮助或指针将不胜感激。

在Swing中,实际上并未使用本机OS组件。 Mac上默认的“Aqua”外观尝试尽可能地匹配本机外观,但它实际上只是用Java2D绘制内容。 因此,例如,默认按钮的脉冲发光未实现。

您可以在窗口上设置一些客户端属性以影响其外观,但“标题工具栏”似乎不是一个选项:

http://developer.apple.com/library/mac/#technotes/tn2007/tn2196.html#//apple_ref/doc/uid/DTS10004439

一种选择是切换到使用Quaqua外观。 我自己没有使用它,但据说它比Maca更忠实于Mac外观。 它有一个属性,您可以设置为获得所需的工具栏外观:

http://www.randelshofer.ch/quaqua/guide/client_properties.html#JToolBar

您可以查看Mac Widgets for Java中提供的统一工具栏。

抱歉,我不认为你可以使用Swing获得工具栏控制按钮。 没有appl-esqe系统属性可以为您绘制它。 尝试“apple.awt.brushMetalLook”属性,但据我记得它只有统一的工具栏和标题栏。 SWT似乎是您唯一的选择。

另外,我认为你不应该担心这个UI元素。 从10.7(Lion)开始, 此按钮将从所有OS X用户界面元素中删除

使用Lion,大多数应用程序都在右上角有全屏图标。 当使用Swing进行OS X编程时,我认为你应该在你的任务中的某个点画一条线,让它看起来绝对原生。

除此之外,我认为Mozilla客户端是使用Objective C / C ++开发的,而某些Java(可能是)适用于Mac。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM