尽管设置为框架,但Java菜单栏不会出现在Swing GUI中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尽管设置为框架,但Java菜单栏不会出现在Swing GUI中相关的知识,希望对你有一定的参考价值。
我正在编写一个基本程序,以便使用swing GUI进行练习和学习,我已经构建了一个带有基本菜单的框架,将其添加到框架中,但由于某些原因,当我运行程序时它不会出现在框架中。
public class GUITest {
private static int windowWidth = 500;
private static int windowHeight = 500;
private static JFrame frame;
private static JMenuBar menuBar;
public static void main(String[] args){
build();
}
private static void build(){
windowGen();
menuGen();
}
private static void windowGen(){
JFrame frame = new JFrame();
frame.setLayout(null);
frame.setSize(windowWidth,windowHeight);
frame.setVisible(true);
}
private static void menuGen(){
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("File");
JMenuItem menuFileExit = new JMenuItem("Exit");
menuFile.add(menuFileExit);
menuBar.add(menuFile);
frame.setJMenuBar(menuBar);
}
}
你们中的任何人都知道为什么会这样吗?
答案
引用上面声明的静态变量,但不创建新的,它是第一个错误,另一个不是为你的JFrame定义一个Layout
public class GUITest {
private static int windowWidth = 500;
private static int windowHeight = 500;
private static JFrame frame;
private static JMenuBar menuBar;
public static void main(String[] args){
build();
}
private static void build(){
windowGen();
menuGen();
}
private static void windowGen(){
frame = new JFrame();
frame.setLayout(null);
frame.setSize(windowWidth,windowHeight);
frame.setVisible(true);
}
private static void menuGen(){
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("File");
JMenuItem menuFileExit = new JMenuItem("Exit");
menuFile.add(menuFileExit);
menuBar.add(menuFile);
frame.setJMenuBar(menuBar);
}
}
以上是关于尽管设置为框架,但Java菜单栏不会出现在Swing GUI中的主要内容,如果未能解决你的问题,请参考以下文章
尽管将 UIViewControllerBasedStatusBarAppearance 设置为 NO,但 iPad mini 上的状态栏仍可见
带有菜单栏但没有 Dock 图标/切换菜单的 Cocoa 应用程序