Java 可以在JFrame边框上添加菜单吗?

Java 可以在JFrame边框上添加菜单吗?,java,windows,jframe,windows-applications,menubar,Java,Windows,Jframe,Windows Applications,Menubar,我有一个surface pro 3,大部分代码都是我编写的。我相信从micosoft商店下载的所有应用程序的菜单栏都位于Windows应用程序的左上角。目前,我正在使用Java开发一个Windows应用程序,希望我的设计在左上角的JFrame边框顶部有3个栏(菜单)。我在谷歌上搜索了一下,发现只有少数人也在尝试这样做,所有人都被告知使用JFrame是不可能的。如果是这样的话,我应该如何着手制作自己的组件来真正做到这一点 我不介意花上数小时、数天的时间来开发这个。因为一旦我可以创建它的库,它将非常

我有一个surface pro 3,大部分代码都是我编写的。我相信从micosoft商店下载的所有应用程序的菜单栏都位于Windows应用程序的左上角。目前,我正在使用Java开发一个Windows应用程序,希望我的设计在左上角的JFrame边框顶部有3个栏(菜单)。我在谷歌上搜索了一下,发现只有少数人也在尝试这样做,所有人都被告知使用JFrame是不可能的。如果是这样的话,我应该如何着手制作自己的组件来真正做到这一点


我不介意花上数小时、数天的时间来开发这个。因为一旦我可以创建它的库,它将非常有用

如果我很理解你的问题,你觉得这样的菜单怎么样

import javax.swing.*;

public class Menu {
public static void main (String[] args) {
    JFrame frame = new JFrame();
    frame.setSize(500, 300);

    JMenuBar menuBar = new JMenuBar();
    JMenu menu1 = new JMenu("menu1");
    JMenu menu2 = new JMenu("menu2");
    JMenu menu3 = new JMenu("menu3");
    menuBar.add(menu1);
    menuBar.add(menu2);
    menuBar.add(menu3);

    frame.setJMenuBar(menuBar);
    frame.setUndecorated(true);     
    frame.setVisible(true);
}
}

这里是。

您可以通过调用
frame.setUndercorated(true)
来取消装饰您的
JFrame
,这将消除标题栏和大小调整等。然后您可以根据需要添加装饰,包括一个菜单。我已经运行了代码,看起来就像我想做的那样。但唯一的问题是最右边的最小化、最大化和关闭按钮不会显示。检查一下,也许会有帮助