【发布时间】:2011-04-16 18:10:21
【问题描述】:
我有一个扩展 JFrame 的 MainWindow 类。 在 MainWindow 我有一个 JMenuBar。
我想在顶部(Apple 符号旁边)显示 OSX 中的 MenuBar。这仅在我没有设置 Substance 皮肤时才有效。是否可以使用 Substance 皮肤并使用 MacOS 菜单栏?
我的代码:
//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 macos swing look-and-feel substance