java - 更改 JMenuBar 的字体

标签 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 也没有改变。

我感谢任何与此相关的帮助。

最佳答案

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

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

关于java - 更改 JMenuBar 的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318130/

相关文章:

java - 如何将文本字段从主类传递到另一个类

java - 从 JMenuBar 中删除/添加 JMenu

java - JToolBar/JMenu位置重叠

java - Gradle 复合项目 : "Could not resolve" even with correct paths

java - Scanner.nextLine() 返回 null

java - 在某些情况下动态更改日志条目模式

菜单中的 Java Swing JSeparator 放置不正确

java - 在 JSP 中获取 Map<String, List<String>> 中列表的第一个元素

Java应用程序部署

java - JFileChooser 从 JMenu 打开文件