如何在Mac OS X上将JMenuBar移至屏幕菜单栏?

如何在Mac OS X上将JMenuBar移至屏幕菜单栏?,第1张

如何在Mac OS X上将JMenuBar移至屏幕菜单栏?

根据完成的时间,在程序启动后设置属性可能为时已晚,无法生效。而是在启动时添加设置。

java -Dapple.laf.useScreenMenuBar=true -jar MyApplication.jar

或者,

Info.plist
如Mac OS X的Java部署选项,Java词典Info.plist键,关于Info.plist键和Java运行时系统属性所述,在应用程序捆绑包中设置属性。

<key>Properties</key><dict>    <key>apple.laf.useScreenMenuBar</key>    <string>true</string>    ...</dict>

附录:如下所示,使用@Urs Reupke或本人建议的方法不会出现问题。您的(丢失)DesktopMain可能是错误的。

import java.awt.Color;import java.awt.Dimension;import java.awt.EventQueue;import javax.swing.BorderFactory;import javax.swing.Jframe;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPanel;public class NewMain {    public static void main(String[] args) {        System.setProperty("apple.laf.useScreenMenuBar", "true");        System.setProperty( "com.apple.mrj.application.apple.menu.about.name", "Name");        EventQueue.invokeLater(new Runnable() { @Override public void run() {     Jframe frame = new Jframe("Gabby");     final JPanel dm = new JPanel() {         @Override         public Dimension getPreferredSize() {  return new Dimension(320, 240);         }     };     dm.setBorder(BorderFactory.createLineBorder(Color.blue, 10));     frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);     frame.add(dm);     frame.pack();     frame.setLocationByPlatform(true);     JMenuBar menuBar = new JMenuBar();     JMenu fileMenu = new JMenu("File");     menuBar.add(fileMenu);     frame.setJMenuBar(menuBar);     frame.setVisible(true); }        });    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5499981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存