⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myframetest.java

📁 图形用户界面设计综合编程实例
💻 JAVA
字号:


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class MyFrameTest
{
	public static void main(String[] args)
	{  
		MenuFrame frame = new MenuFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(500,500);
		frame.show();
	}
}

class MenuFrame extends JFrame
{  
	public MenuFrame()
	{  
		setTitle("MenuExample");
		setSize(WIDTH, HEIGHT);

	 contentPane = getContentPane();
		JPanel textPanel=new JPanel();

		//创建显示菜单操作的文本区
		myTextField = new JTextField("", 20);
		textPanel.add(myTextField);
		contentPane.add(textPanel);
		
		//创建菜单栏,并将菜单栏加入到框架中
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);

		//创建菜单及菜单项,并添加快捷键和加速器
		//“File”菜单
		JMenu fileMenu = new JMenu("文件(F)");
		//设置菜单的快捷键
		fileMenu.setMnemonic('F'); 

		//新建“New”菜单项,并添加共用的事件监听器
		newItem = fileMenu.add(new ShowAction("新建"));
		//设置菜单项的加速器
		newItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_N, InputEvent.CTRL_MASK));
		//新建“Open”菜单项和监听器
		openItem = fileMenu.add(new ShowAction("打开"));
		openItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_O, InputEvent.CTRL_MASK));
		//增加分隔线
		fileMenu.addSeparator();
		//新建“Save”菜单项和监听器
		saveItem = fileMenu.add(new ShowAction("保存"));
		saveItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_S, InputEvent.CTRL_MASK));
		//初始设置“Save”菜单项为禁用状态
		saveItem.setEnabled(false);
		//新建“Close”菜单项和监听器
		closeItem = fileMenu.add(new ShowAction("关闭"));
		closeItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_L, InputEvent.CTRL_MASK));
		closeItem.setEnabled(false);
		fileMenu.addSeparator();
		//新建“Exit”菜单项和监听器
		JMenuItem exitItem = new JMenuItem("退出(T)", 'T');
		exitItem.addActionListener(new AbstractAction("Exit")
			{
				public void actionPerformed(ActionEvent event)
				{
					System.exit(0);
				}
			});
		exitItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_T, InputEvent.CTRL_MASK));
 		fileMenu.add(exitItem);

		//“Edit”菜单
		JMenu editMenu = new JMenu("编辑(E)");
		//设置菜单的快捷键
		editMenu.setMnemonic('E'); 

		//新建“录入”菜单项和监听器
		inputItem = new JMenuItem("录入", 'C');
		editMenu.add(inputItem);
		//添加事件监听器
		inputItem.addActionListener(new ShowAction("input"));
		inputItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_U, InputEvent.CTRL_MASK));
		inputItem.setEnabled(false);
		//新建“Copy”菜单项和监听器
		updateItem = new  JMenuItem("修改", 'Y');
		updateItem.addActionListener(new ShowAction("update"));
		updateItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_Y, InputEvent.CTRL_MASK));
		updateItem.setEnabled(false);
		//新建“Paste”菜单项和监听器
		deleteItem = new JMenuItem("删除", 'D');
		deleteItem.addActionListener(new ShowAction("delete"));
		deleteItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_P, InputEvent.CTRL_MASK));
		deleteItem.setEnabled(false);
		
		displayItem = new JMenuItem("显示", 'Y');
		displayItem.addActionListener(new ShowAction("display"));
		displayItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_P, InputEvent.CTRL_MASK));
		displayItem.setEnabled(false);
		
		editMenu.add(updateItem);
		editMenu.add(deleteItem);
        editMenu.add(displayItem);
		//“Search”菜单
		JMenu searchMenu = new JMenu("查找(S)");
		searchMenu.setMnemonic('S'); 

		//创建单选按钮菜单项“Forward”和“Backward”
		ButtonGroup group = new ButtonGroup();
		forwardItem = new JRadioButtonMenuItem("向前");
		forwardItem.addActionListener(new ShowAction("Forward"));
		forwardItem.setSelected(true);
		forwardItem.setEnabled(false);

		backwardItem = new JRadioButtonMenuItem("向后");
		backwardItem.addActionListener(new ShowAction("Backward"));
		backwardItem.setEnabled(false);

		group.add(forwardItem);
		group.add(backwardItem);
		
		nosearchItem = new JMenuItem("按学号查找", 'D');
		nosearchItem.addActionListener(new ShowAction("delete"));
	    nosearchItem.setAccelerator(KeyStroke.getKeyStroke(
			KeyEvent.VK_P, InputEvent.CTRL_MASK));
		searchMenu.add(forwardItem);
		searchMenu.add(backwardItem);
		searchMenu.add(nosearchItem);

		//"View"菜单
		JMenu viewMenu = new JMenu("View");
		viewMenu.setMnemonic('V'); 
		//创建子菜单
		JMenu optionMenu = new JMenu("Option");
		optionMenu.setMnemonic('O'); 
		//创建复选框菜单项“ToolBar”和“Status”
		JCheckBoxMenuItem toolItem = new JCheckBoxMenuItem("ToolBar");
		JCheckBoxMenuItem statusItem = new JCheckBoxMenuItem("Status");
		toolItem.addActionListener(new ShowAction("ToolBar"));
		statusItem.addActionListener(new ShowAction("Status"));
		//将菜单项添加到子菜单中
		optionMenu.add(toolItem);
		optionMenu.add(statusItem);
		//将子菜单添加到“View”菜单中
		viewMenu.add(optionMenu);

		//将菜单加入到菜单栏中
		menuBar.add(fileMenu);
		menuBar.add(editMenu);
		menuBar.add(searchMenu);
		menuBar.add(viewMenu);
		
		//弹出式菜单
		popup = new JPopupMenu();
		
		//新建弹出式菜单中的“Cut”菜单项和监听器
		cutItemPop = new JMenuItem("Cut", 'C');
		cutItemPop.addActionListener(new ShowAction("CutPop"));
		cutItemPop.setEnabled(false);
		
		//新建弹出式菜单中的“Copy”菜单项和监听器
		copyItemPop = new  JMenuItem("Copy", 'Y');
		copyItemPop.addActionListener(new ShowAction("CopyPop"));
		copyItemPop.setEnabled(false);
		
		//新建弹出式菜单中的“Paste”菜单项和监听器
		pasteItemPop = new JMenuItem("Paste", 'P');
		pasteItemPop.addActionListener(new ShowAction("PastePop"));
		pasteItemPop.setEnabled(false);

		popup.add(cutItemPop);
		popup.add(copyItemPop);
		popup.add(pasteItemPop);
		
		//实现弹出式菜单的弹出触发器
		getContentPane().addMouseListener(new MouseAdapter()
			{  
				public void mouseReleased(MouseEvent event)         
				{  
					if (event.isPopupTrigger())
						//指定弹出式菜单的父组件以及显示位置
						popup.show(event.getComponent(),
							event.getX(), event.getY());
				}
			});
	}

	//菜单项的共用事件监听器
	private class ShowAction extends AbstractAction
	{  
		public ShowAction(String name) { super(name); }
		public void actionPerformed(ActionEvent event)
		{  
			//实现菜单项的启用和禁用控制
			if (event.getSource() == newItem || 
				event.getSource() == openItem)
			{
				saveItem.setEnabled(true);
				closeItem.setEnabled(true);
				inputItem.setEnabled(true);
				updateItem.setEnabled(true);
				deleteItem.setEnabled(true);
				forwardItem.setEnabled(true);
				backwardItem.setEnabled(true);
				cutItemPop.setEnabled(true);
				copyItemPop.setEnabled(true);
				pasteItemPop.setEnabled(true);
				displayItem.setEnabled(true);
			}
			if (event.getSource() == closeItem)
			{
				saveItem.setEnabled(false);
				closeItem.setEnabled(false);
				inputItem.setEnabled(false);
				deleteItem.setEnabled(false);
				updateItem.setEnabled(false);
				forwardItem.setEnabled(false);
				backwardItem.setEnabled(false);
				cutItemPop.setEnabled(false);
				copyItemPop.setEnabled(false);
				pasteItemPop.setEnabled(false);
			}
			
			if (event.getSource()==inputItem)
			{
				InputFrame Frame1=new InputFrame();
				
				Frame1.show();
				dispose();}
			if (event.getSource()==updateItem)
			{  //在此处显示更新窗口,因为未定义,
			   //所以先注释起来
				//UpdateFrame frame1=new UpdateFrame();
				
			//	frame1.show();
			}	
				
			if (event.getSource()==deleteItem)
			{//删除窗口
			//	Deleteframe1 frame1=new Deleteframe1();
				
			//	frame1.show();
			}
				
			if (event.getSource()==displayItem)
			{//显示窗口
				//Displayframe1 frame1=new Displayframe1();
				
			//frame1.show();
			}
			
		
		}
	}

	public static final int WIDTH = 250;
	public static final int HEIGHT = 200;  

	private JMenuItem newItem;
	private JMenuItem openItem;
	private JMenuItem closeItem;
	private JMenuItem saveItem;
	private JMenuItem inputItem;
	private JMenuItem updateItem;
	private JMenuItem deleteItem;
	private JMenuItem cutItemPop;
	private JMenuItem copyItemPop;
	private JMenuItem pasteItemPop;
	private JMenuItem nosearchItem;
	private JMenuItem displayItem;
	private JRadioButtonMenuItem  forwardItem;
	private JRadioButtonMenuItem  backwardItem;
	private Container contentPane;
	private JPopupMenu popup;
	private JTextField myTextField;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -