[Java] 把 Java 的選單列改到 Mac 的選單列上(Put JMenuBar to Native Mac OS X menubar)

使用前:

使用後:

 


一開始我是找到這篇:

https://alvinalexander.com/apple/mac/java-mac-native-look/Putting_JMenuBar_on_Mac_men.shtml

把下面這行加入到程式碼裡:

System.setProperty("apple.laf.useScreenMenuBar", "true");

發現無效!

 

然後又看到別篇有人說要在main function的很早就要放 System.setProperty 這行了

我把它移到 main 的最上面了,還是不行!

 

 

後來是這篇成功了:

https://stackoverflow.com/questions/1654531/jmenubar-at-the-top-in-macosx

原來是我加入 JMenuBar 和原來的不一樣

要使用 setJMenuBar 的方式來加入選單列才可以用

System.setProperty("apple.laf.useScreenMenuBar", "true");

放到 Mac OS X的原生選單列上

 

我原來加入選單列的方式是:

Container contentPage = getContentPane();
contentPage.add(menubar, BorderLayout.NORTH);

 

 

作者

RongSon

Graduate Student of CCU COMM Game Development, Network Communication, macOS/Ubuntu/Android, Arduino/Raspberry Pi/Intel Edison, Java/Python/C/C++

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *