我正在創建一個JNI來顯示應用程序範圍的菜單欄,而不是JFrame特定的一個。這使我即使在沒有JFrames的情況下也能顯示菜單欄。我碰到了一個小障礙,在我的窗口菜單中,我無法弄清楚如何顯示最小化窗口的鑽石。據我所知,在標準的API中,只有三種狀態可用,On,Off和Mixed,其中混合是破折號。有沒有辦法使用標準API顯示最小化的鑽石?或者我將不得不創建一個鑽石圖像並使用它?如何指定在NSMenuItem(最小化窗口指示器)中顯示菱形?
2
A
回答
5
AppKit沒有使用公共API來獲取此圖像。它使用_NSGetThemeImage從舊的HIToolbox外觀管理器主題資源中提取圖像並將其轉換爲NSImage。我無法找到相應的公共API。
如果你想模仿了AppKit是怎麼做的,使用:
NSImage* _NSGetThemeImage(int num);
[menuitem setState:NSOnState];
[menuitem setOnStateImage:_NSGetThemeImage(155)];
更重要的是,使用此代碼搶NSImage中,將其保存爲TIFF文件,然後包括TIFF在你的程序。這樣您就可以避免在發貨代碼中使用私有API。我懷疑蘋果會抱怨你偷了他們的鑽石。 ;)
相關問題
- 1. Java - 顯示最小化的JFrame窗口
- 2. 如何使用最小化/最大化窗口控件顯示Qt.Tool窗口?
- 3. 如何指定顯示器?
- 4. 如何在模態顯示時最小化所有者窗口?
- 5. 在Jersey中,如何指定只顯示資源的最小application.wadl?
- 6. 用CSS只顯示圓形指示器
- 7. 無法顯示最大化/最小化矩形按鈕在Android應用Chromebook中調整窗口大小?
- 8. 如何最大化多個顯示器的窗口?
- 9. 如何在最小化窗口後最大化窗口
- 10. 如何使用窗口指令提示在指定程序中打開文件
- 11. 如何最小化窗口?
- 12. 當我最小化窗口在IE元素不顯示
- 13. 在多臺顯示器上指定啓動窗口/窗體位置
- 14. 如何使指示器顯示開關?
- 15. 如何顯示活動指示器
- 16. 如何防止在NSMenuItem中顯示keyEquivalent
- 17. 在asp.net mvc應用程序中顯示Lync precense指示器(帶彈出窗口)
- 18. 忙指示燈不顯示在WPF窗口了
- 19. Tensorboard未在窗口中顯示圖形
- 20. 如何顯示圖像,同時最小化窗口大小移動視圖
- 21. 顯示不確定進度指示器
- 22. 如何在顯示新圖像時保持Matlab圖形窗口最大化?
- 23. 如何在顯示主窗口之前顯示登錄窗口
- 24. 顯示進度指示器
- 25. 如何在顯示ABPeoplePickerNavigationController時指定組
- 26. 如何使Tkinter窗口在打開時顯示而不是開始最小化?
- 27. Python統一指示器小程序和空白子窗口
- 28. 在多個顯示器上最大化Adobe Air窗口
- 29. Apache編碼問題,在瀏覽器中顯示菱形字符
- 30. 最小化一個窗口,另一個顯示
您是使用NSMenu還是某些Java菜單API? – 2010-08-06 23:00:17
NSMenu。我猜大多數java的東西是不相關的,我只是想說清楚,我不能使用可可內建的窗口菜單處理。 – Jonathon 2010-08-07 00:04:19