gpt4 book ai didi

java - 您如何指定在 NSMenuItem(最小化窗口指示器)中显示菱形?

转载 作者:行者123 更新时间:2023-11-30 06:37:30 24 4
gpt4 key购买 nike

我正在创建一个 JNI 来显示应用程序范围的菜单栏,而不是 JFrame 特定的菜单栏。这使我即使在不存在 JFrame 时也能保持菜单栏显示。我遇到了一个小问题,在我的窗口菜单中,我无法弄清楚如何为最小化的窗口显示菱形。据我所知,在标准 API 中只有三种状态可用,即开、关和混合,其中混合是破折号。有没有办法使用标准 API 显示最小化的菱形?还是我必须创建一个钻石图像并使用它?

最佳答案

AppKit 没有使用公共(public) API 来获取此图像。它使用 _NSGetThemeImage 从旧的 HIToolbox Appearance Manager 主题资源中提取图像并将其转换为 NSImage。我找不到等效的公共(public) API。

如果您想模仿 AppKit 的工作方式,请使用:

NSImage* _NSGetThemeImage(int num);

[menuitem setState:NSOnState];
[menuitem setOnStateImage:_NSGetThemeImage(155)];

更好的是,使用此代码获取 NSImage,将其保存为 TIFF 文件,然后将该 TIFF 包含在您的程序中。这样您就可以避免在运输代码中使用私有(private) API。我怀疑 Apple 会提示你偷了他们的钻石。 ;)

关于java - 您如何指定在 NSMenuItem(最小化窗口指示器)中显示菱形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3426374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com