更改JMenuBar的字体

时间:2014-12-05 14:31:09

标签: java swing jmenu jmenubar

我在设置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);
    }
}

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

我感谢任何有关此事的帮助。

1 个答案:

答案 0 :(得分:9)

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

Font f = new Font("sans-serif", Font.PLAIN, 12);
UIManager.put("Menu.font", f);