我在java swing,jframe窗口 中添加了菜单栏,但是运行时却什么都没有,求大神

JFrame frame;
JMenuBar menuBar1;
JMenu menu1,menu2,menu3,menu4,menu5,menu6,menu7,menu8;

JMenuItem
mi_book_add,mi_book_update,mi_book_delete,mi_reader_add,mi_reader_update,mi_reader_delete;

JMenuItem mi_borrow,mi_return,mi_query_book,mi_query_reader,mi_update_reader,mi_exit;

public MainGui(){

JFrame frame=new JFrame("Library Menage System");
frame.setLayout(new BorderLayout());
frame.setSize(640, 480);frame.setResizable(false);
frame.setVisible(true);
menuBar1=new JMenuBar();
menu5=new JMenu("Basic Maintain");
menu6=new JMenu("Book Maintain");

mi_book_add=new JMenuItem("Add..");
mi_book_update=new JMenuItem("Modify..");
mi_book_delete=new JMenuItem("Delete..");

menu7=new JMenu("Reader Maintain");

mi_reader_add=new JMenuItem("Add New User..");
mi_reader_update=new JMenuItem("Modify User info..");
mi_reader_delete=new JMenuItem("Delete User..");

menu1=new JMenu("Borrow Information Manage");
mi_borrow=new JMenuItem("Borrow");
mi_return=new JMenuItem("Return");

menu2=new JMenu("Query System");
mi_query_book=new JMenuItem("Book Query");
mi_query_reader=new JMenuItem("User Query");

menu3=new JMenu("System Menage");
mi_exit=new JMenuItem("Quit");

menu6.addSeparator();
menu6.add(mi_book_add);menu6.add(mi_book_update);menu6.add(mi_query_book);menu6.add(mi_book_delete);
menuBar1.add(menu6);
frame.setJMenuBar(menuBar1);

}

public static void main(String[] args){
new MainGui();
}

}

运行也不报错,真是无语了,求大神指点迷津

你的Java程序我帮你改好了,你看看吧.

主要问题是你在菜单初始化之前,显示frame页面,导致菜单没有显示.把显示frame页面放到菜单初始化之后就行了.

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class MainGui{
 JFrame frame;
 JMenuBar menuBar1;
 JMenu menu1,menu2,menu3,menu4,menu5,menu6,menu7,menu8;
 JMenuItem mi_book_add,mi_book_update,mi_book_delete,mi_reader_add,mi_reader_update,mi_reader_delete;
 JMenuItem mi_borrow,mi_return,mi_query_book,mi_query_reader,mi_update_reader,mi_exit;
 public MainGui(){
  frame=new JFrame("Library Menage System");
  menuBar1=new JMenuBar();
  
  menu5=new JMenu("Basic Maintain");
  
  menu6=new JMenu("Book Maintain");
  mi_book_add=new JMenuItem("Add..");
  mi_book_update=new JMenuItem("Modify..");
  mi_book_delete=new JMenuItem("Delete..");
  menu6.addSeparator();
  menu6.add(mi_book_add);menu6.add(mi_book_update);menu6.add(mi_book_delete);
  
  menu7=new JMenu("Reader Maintain");
  mi_reader_add=new JMenuItem("Add New User..");
  mi_reader_update=new JMenuItem("Modify User info..");
  mi_reader_delete=new JMenuItem("Delete User..");
  menu7.add(mi_reader_add);menu7.add(mi_reader_update);menu7.add(mi_reader_delete);
 
  menu1=new JMenu("Borrow Information Manage");
  mi_borrow=new JMenuItem("Borrow");
  mi_return=new JMenuItem("Return");
  menu1.add(mi_borrow);menu1.add(mi_return);
  
  menu2=new JMenu("Query System");
  mi_query_book=new JMenuItem("Book Query");
  mi_query_reader=new JMenuItem("User Query");
  menu2.add(mi_query_book);menu2.add(mi_query_reader);
  
  menu3=new JMenu("System Manage");
  mi_exit=new JMenuItem("Quit");
  menu3.add(mi_exit);
  
  menuBar1.add(menu5);
  menuBar1.add(menu6);
  menuBar1.add(menu7);
  menuBar1.add(menu1); 
  menuBar1.add(menu2);
  menuBar1.add(menu3);
  frame.setJMenuBar(menuBar1);
  frame.setLayout(new BorderLayout());
  frame.setSize(640, 480);
  frame.setResizable(false);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
 }
 public static void main(String[] args){
  new MainGui();
 }
}

运行结果

温馨提示:内容为网友见解,仅供参考
无其他回答

...中添加了菜单栏,但是运行时却什么都没有,求大神
主要问题是你在菜单初始化之前,显示frame页面,导致菜单没有显示.把显示frame页面放到菜单初始化之后就行了.import java.awt.BorderLayout;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;public class MainGui{ JFrame frame; JMenuBar menu...

java新手,创建一个菜单栏,但是连窗口都不显示,程序运行,什么都没有...
public aa(){\/\/构造方法不要加voidJFrame f=new JFrame("菜单组件");JMenuBar bar =new JMenuBar(); JMenuItem j1=new JMenuItem("Open"); JMenuItem j2=new JMenuItem("Save"); JMenuItem j3=new JMenuItem("Save as Template"); JMenu m1 = new JMenu("File"); ...

java中.JMenubar 菜单栏不显示..
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class can1 extends JFrame{ public can1(){ j1=new JMenuBar();this.setJMenuBar(j1);ja1=new JMenu("文件(F)");ja2=new JMenu("编辑(E)");ja3=new JMenu("视图(U)");ja4=new JMenu("搜索(S)");ja...

Java swing中,按左上角图标弹出来的菜单(如图)叫什么?怎么屏蔽?
在JDK1.4以前,我们只有一种方式来去掉窗口的标题栏,那就是直接使用JWindow,用JWindow来代替JFrame使用。但用过JWindow的人一定知道,JWindow在操作系统的任务栏是不可见的,这样我们就无法在几个视窗之间来切换到这个窗口了。使用JWindow也是很多人知道的一种去掉标题栏的方式。但从Java1.4开始,有...

程序员在创建一个JFrame时,可以创建一个菜单栏,可利用什么方法将它加 ...
在Java中,你可以使用JMenuBar类来创建一个菜单栏,并使用setJMenuBar()方法将它添加到JFrame中。以下是一个简单的例子:javaimport javax.swing.*;public class Main { public static void main(String[] args) { \/\/ 创建一个新的 JFrame JFrame frame = new JFrame("菜单示例");\/\/ 创建一个...

java swing中,为什么JPanel 中的按钮向JFrame 的静态实例注册事件后,当...
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class Test extends JFrame implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("frame say:" ...

为什么这个代码运行后,代码没有报错但是菜单栏显示不出来?运行结果如下...
创建的几个对象:JMenuBar menubar;JMenu menu;JMenuItem itemCopy,itemCut,itemPaste;分别的从属关系是 menubar里面有menu -》menu里面有itemXxxx 因此menubar.add(menu) -》 menu.add(itemCopy)。。。才对啊

java swing初学:这段代码设置了窗体背景颜色,为什么运行的时候还是白色...
f.add(lab);这么加的话,根据JFrame的默认框架lab会被放在f的中间并铺满整个f,所以你看到的白色是lab的背景,不是f的背景。

java在窗口中添加按钮怎么显示在窗口啊
用frame.add(button)添加按钮对象到窗体对象,再用frame.setVisable(true)显示窗口即可 或用 panel.add(button);frame.add(panel);frame.setVisable(true);

用java的swing做界面,想通过在同一个窗口进行面板的切换来达到跳转界面...
方法一: 可以使用JTabbedPane 来实现,代码如下 JTabbedPane jtp = new JTabbedPane();JPanel jp1 = new JPanel();JPanel jp2 = new JPanel();jtp.add("面板1", jp1);jtp.add("面板2", jp2);方法二: (推荐) 跳转界面 , 还是需要从1个窗口到另外1个窗口, 这样正规点, 数据可以从第一...

相似回答