本文介绍了物质和MacOS MenuBar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个扩展JFrame的Class MainWindow。
在MainWindow我有一个JMenuBar。

I have a Class MainWindow which extends JFrame.In MainWindow i have a JMenuBar.

我想在OSX上显示MenuBar(Apple符号旁边)。这只适用,当我没有设置物质皮肤。是否可以使用Substance Skin并使用MacOS MenuBar?

I want to show the MenuBar in OSX on top (next to the Apple Symbol). This only works, when i dont set a Substance Skin. Is it possible to use a Substance Skin and use The MacOS MenuBar?

我的代码:

//Set Menu for MacOS
System.setProperty("apple.laf.useScreenMenuBar", "true");
System.setProperty("com.apple.mrj.application.apple.menu.about.name", name);

try {
    SwingUtilities.invokeAndWait(new Runnable() {  
        public void run() {
            SubstanceSkin skin = new GraphiteGlassSkin();
            SubstanceLookAndFeel.setSkin(skin); //WORKS WHEN I COMMENT THIS (WITHOUT SUBSTANCE SKIN)
            JFrame.setDefaultLookAndFeelDecorated(false);
            MainWindow mainWindow = new MainWindow(name);
            mainWindow.setVisible(true);
        }  
    });
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}


推荐答案

是,如下所示。


$ java -Xdock:name=MyApp -Dswing.defaultlaf=com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar

这篇关于物质和MacOS MenuBar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 03:58