更改JMenuBar的字体

mez*_*ker 2 java swing jmenubar jmenu

我在设置字体时遇到问题JMenuBar.我个人不喜欢粗体字体Java框架默认使用,所以我试图通过使用这样的东西来改变它:

public class MyFrame extends javax.swing.JFrame {
    public MyFrame() {
        JMenuBar menuBar = new JMenuBar();
        menuBar.setFont(new Font("sans-serif", Font.PLAIN, 12));
        setJMenuBar(menuBar);
        setSize(600, 400);

        // add some menus to the menu bar
        menuBar.add(new JMenu("Foo"));
        menuBar.add(new JMenu("Bar"));
        menuBar.add(new JMenu("Baz"));
        menuBar.add(new JMenu("Qux"));

        setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,该行menuBar.setFont(...)设置组件menuBar使用的字体.但是当我实例化其中一个框架时,默认字体根本没有改变,即使我把字体的大小设置为30也没有.

我感谢任何有关这方面的帮助.

whi*_*der 9

您可以尝试为每个JMenu设置字体或更改默认值:

Font f = new Font("sans-serif", Font.PLAIN, 12);
UIManager.put("Menu.font", f);
Run Code Online (Sandbox Code Playgroud)