java-----------GUI菜单设计


 制作一个可用的菜单系统,一般需要经过下面几个步骤

       Step 1    创建一个JMenuBar对象并将其放置在一个JFrame中

            Step 2    创建JMenu对象

            Step 3    创建JMenuItem对象并将其添加到JMenu对象中

            Step 4     把JMenu对象添加到JMenuBar中

               上面这几步主要是创建菜单的结构,如果要使用菜单所指出的功能,则必须要为菜单项注册监听者,并在监听者提供的事件处        理程序中写入相应的代码。

二、代码实现

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

@SuppressWarnings("serial")
public class MainFrame1 extends JFrame
{
   Container container;
   public MainFrame1()
   {
	   this.setTitle("测试菜单栏");
	   container = this.getContentPane();
	   container.setLayout(new BorderLayout());
	   JMenuBar menuBar = new JMenuBar();
	   buildMainMenu(menuBar);
	   this.setJMenuBar(menuBar);
	   this.setVisible(true);
	   this.setSize(600,450);
   }
   
   protected void buildMainMenu(JMenuBar menuBar)
   {
	   JMenu fileMenu = new JMenu("文件(F)");//第一个菜单
	   JMenuItem exitMenuItem = new JMenuItem("退出");
	   exitMenuItem.addActionListener(new ExitActionListener());
	   fileMenu.add(exitMenuItem);
	   menuBar.add(fileMenu);
	   
	   JMenu libMenu = new JMenu("馆藏检索(B)");//第二个菜单
	   libMenu.setMnemonic(KeyEvent.VK_B);//给菜单定义助记键
	   JMenuItem libMenuItem = new JMenuItem("书目检索");
	   JMenuItem myBorrowMenuItem = new JMenuItem("我的借阅");
	   libMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,ActionEvent.CTRL_MASK));//设定快捷键
	   libMenuItem.addActionListener(new BookInLibraryActionListener());
	   myBorrowMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,ActionEvent.CTRL_MASK));//设定快捷键
	   myBorrowMenuItem.addActionListener(new MyBorrowActionListener());
	   libMenu.add(libMenuItem);
	   libMenu.add(myBorrowMenuItem);
	   menuBar.add(libMenu);
	   
	   JMenu helpMenu = new JMenu("帮助(H)");//第三个菜单
	   helpMenu.setMnemonic(KeyEvent.VK_H);
	   JMenuItem aboutMenuItem = new JMenuItem("关于");
	   aboutMenuItem.setMnemonic(KeyEvent.VK_A);
	   aboutMenuItem.addActionListener(new AboutActionListener());
	   helpMenu.add(aboutMenuItem);
	   menuBar.add(helpMenu);
   }
   
   class BookInLibraryActionListener implements ActionListener
   {
	   public void actionPerformed(ActionEvent e)
	   {
		   new JComboBoxDemo();
	   }
   }
   
   class MyBorrowActionListener implements ActionListener
   {
	   public void actionPerformed(ActionEvent e)
	   {
		   new JRadioButtonDemo();
	   }
   }
   
   class AboutActionListener implements ActionListener
   {
	   public void actionPerformed(ActionEvent e)
	   {
		   String msg = "图书管理系统V1.0\nCopyright(C)2014\n\nBy zhouzixin";
		   String title = "图书管理系统";
		   JOptionPane.showMessageDialog(container, msg,title,JOptionPane.INFORMATION_MESSAGE);
	   }
   }
   
   class ExitActionListener implements ActionListener
   {
	   public void actionPerformed(ActionEvent e)
	   {
		   dispose();
		   System.exit(0);
	   }
   }
   
   public static void main(String[] args)
   {
	   new MainFrame1();
   }
}


三、效果展示







           











  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值