java - 当我运行代码时,菜单显示为垂直而不是水平,我该如何更改它?

标签 java jmenu

Screenshot of the error

import javax.swing.*;

public class Task1 {
    public static void main (String[] args) {

        Task1 a = new Task1();
    }

    public Task1() {
        JFrame frame = new JFrame();
        frame.setVisible(true);
        frame.setSize(400,500);

        JMenuBar menuBar = new JMenuBar();
        JMenu file = new JMenu("File");
        JMenu help = new JMenu("help");

        menuBar.add(help);
        menuBar.add(file);
        frame.add(menuBar);

        JMenuItem load = new JMenuItem("Load");
        JMenuItem save = new JMenuItem("Save");
        JMenuItem exit = new JMenuItem("Exit");
        JMenuItem about = new JMenuItem ("About");

        help.add(about);
        file.add(exit);
        file.add(save);
        file.add(load);


    }
}

出于某种原因,当我运行此代码时,菜单显示为垂直而不是水平,我不知道为什么。我知道这是一个基本的事情,但我想不出一个不会导致错误的解决方案。

最佳答案

这是因为您使用的是 JFrame.add() 而不是 JFrame.setMenuBar()。前者将组件(JMenuBar 就是)添加到 JFrame 的内部 contentPane。从此更改您的代码:

frame.add(menuBar);

对此:

frame.setMenuBar(menuBar);

关于java - 当我运行代码时,菜单显示为垂直而不是水平,我该如何更改它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49822419/

相关文章:

java - 斯卡拉 'nothing to override' 错误

java - JMenu子菜单鼠标监听没有监听; Action 监听器做了——为什么?

java - JMenu Action 监听器

java - Android 应用程序启动时间太长?

java - 将 JMenu 添加到 JPanel

java - 如何使用 UIManager 设置 JMenu 前景色

java - JToolBar 不显示

java - 使用 SuperCSV 清理单元格值

java - 从 Java 库更改提示错误消息

Javafx如何模拟Tab上的右键单击事件