gpt4 book ai didi

java - JMenu 不在 Windows 外观中

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:19 24 4
gpt4 key购买 nike

您好,我有一个带菜单的小 Swing 应用程序。首先创建包含菜单文本的两个属性,然后将外观设置为窗口,最后填充菜单。这是源代码:

private JMenu[] Menue={new JMenu("File")};

private JMenuItem[][] MenuItemsString ={{new JMenuItem("Import"),new JMenuItem("Export")}};
...
public window(){
super ("Q3MeshConverter");

plate = new JPanel(new BorderLayout());
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");// set Windows lookandfeel
}
catch(Exception x){

}
menuBar = new JMenuBar();
...
setJMenuBar(menuBar);

JMenu[] Menu =Menue;
JMenuItem[][] MenuItems =MenuItemsString;
for(int m=0;m<Menu.length;m++){// loop trough the Menu(es)
menuBar.add(Menu[m]);
for(int mi=0;mi<MenuItems[m].length;mi++){// loop through the MenuItems
Menu[m].add(MenuItems[m][mi]);
MenuItems[m][mi].addActionListener(this);
}
}
...
setContentPane (plate);
}

这是丑陋的输出:

为什么会这样?

最佳答案

在 LAF 更改之前创建的组件如何知道它并不神奇,你必须告诉它:-)

SwingUtilities.updateComponentTreeUI(someComponent);

关于java - JMenu 不在 Windows 外观中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com