2011-11-03 12 views
4

我有一個在Mac上運行的Swing應用程序。當用戶像JFileChooser一樣打開任何JDialog時,我會自動在屏幕左上角的蘋果按鈕旁邊的Mac菜單中選擇「關於App_Name」,「退出App_Name」菜單項以禁用,這樣用戶將不會能夠點擊它們。如何在顯示一個JDialog時禁用Mac的About/Quit菜單項?

這可能嗎?

回答

3

默認情況下,當模態對話框有焦點時,應用程序菜單項不起作用,但外觀不受影響;這在Mac OS X界面上是標準的。當然,應用程序自己的菜單應該根據需要啓用或禁用。您可以使用OSXAdapter截取相關事件,如answer所示。

+0

是的,當模態對話框有焦點時,Mac的菜單項什麼也不做(雖然仍然可用),但我在一個名爲VLC的程序中看到(http://www.videolan.org/vlc/download-macosx.html)當我點擊「打開文件」並出現一個文件選擇器對話框時,Mac的關於菜單項被禁用。我只是想知道他們是怎麼做到的? – Brad

+0

因爲VLC創建了所有菜單,所以它可以直接啓用和禁用它們。在Java中,您只能更改您創建的菜單。 – trashgod

相關問題