java-----------GUI菜单设计
2014-03-18 20:31
1231 查看
一、 制作一个可用的菜单系统,一般需要经过下面几个步骤
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();
}
}
三、效果展示
相关文章推荐
- java GUI (菜单设计)
- Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI
- JavaWeb框架设计之菜单设计
- JAVA(学习笔记1.1)——GUI组件与用户界面设计
- java--GUI程序设计中的布局
- GUI编程笔记(java)10:GUI实现一级菜单
- JAVA GUI设计常见问题
- JAVA Swing GUI设计 WindowBuilder Pro Container使用大全4——JSplitPane使用
- Java高级用户界面GUI设计
- Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
- 设计组织树 通过java拼接xml组织树 实现界面组织树 通过数据库配置动态决定菜单树显示与否、排列优先
- Java基础 - 单例(饿汉、懒汉),Runtime类,Timer,线程通信,互斥锁,线程组,线程五种状态,线程池,工厂模式,GUI,适配器设计模式
- java实现遍历树形菜单方法——设计思路【含源代码】
- java设计模式之Command(菜单命令)
- JAVA GUI(菜单-打开文件-保存文件)
- JavaGUI图形化界面外观模式设计资源库
- 11.JAVA之GUI编程菜单
- 关于java gui设计中的一些问题
- JAVA GUI设计常见问题
- Java GUI编程设计