我正在創建一個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. 如何指定顯示器?
- 3. 如何使用最小化/最大化窗口控件顯示Qt.Tool窗口?
- 4. 在Jersey中,如何指定只顯示資源的最小application.wadl?
- 5. 如何在模態顯示時最小化所有者窗口?
- 6. 用CSS只顯示圓形指示器
- 7. 無法顯示最大化/最小化矩形按鈕在Android應用Chromebook中調整窗口大小?
- 8. 如何最大化多個顯示器的窗口?
- 9. 如何使用窗口指令提示在指定程序中打開文件
- 10. 如何在最小化窗口後最大化窗口
- 11. 如何最小化窗口?
- 12. 在多臺顯示器上指定啓動窗口/窗體位置
- 13. 如何顯示活動指示器
- 14. 如何使指示器顯示開關?
- 15. 忙指示燈不顯示在WPF窗口了
- 16. Tensorboard未在窗口中顯示圖形
- 17. 如何顯示圖像,同時最小化窗口大小移動視圖
- 18. 如何在顯示ABPeoplePickerNavigationController時指定組
- 19. Apache編碼問題,在瀏覽器中顯示菱形字符
- 20. 如何使Tkinter窗口在打開時顯示而不是開始最小化?
- 21. 在多個顯示器上最大化Adobe Air窗口
- 22. 最小化一個窗口,另一個顯示
- 23. Java中的JFrame窗口大小如何產生指定的窗口大小?
- 24. 如何在opencv中減小圖像顯示窗口的大小?
- 25. 如何在flash播放器中最小化瀏覽器窗口?
- 26. 窗口背景顏色:顯示比指定的顏色更深?
- 27. 指定屏幕上的QML顯示窗口
- 28. Windows:指示Java進程顯示其窗口
- 29. 指定的轉換無效。錯誤顯示在窗口服務器2008 r2
- 30. 如何在上傳過程中顯示上傳指示器?
您是使用NSMenu還是某些Java菜單API? – 2010-08-06 23:00:17
NSMenu。我猜大多數java的東西是不相關的,我只是想說清楚,我不能使用可可內建的窗口菜單處理。 – Jonathon 2010-08-07 00:04:19