JAVAswing用什么方法把菜单显示在面板上,直接用add没显示出来

Python018

JAVAswing用什么方法把菜单显示在面板上,直接用add没显示出来,第1张

JMenuBar menubar1= new JMenuBar()//创建菜单

JMenu menu1= new JMenu("文件")//创建菜单栏的条目

JMenuItem item1= new JMenuItem("打开")

JMenuItem item2= new JMenuItem("保存")

menubar1.add(menu1)

menu1.add(item1)

menu1.add(item2)

frame.setJMenuBar(menubar1)//把菜单栏放在顶层容器

你的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()

 }

}

运行结果