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

📄 testcontextmodelsmenu.java

📁 用JAVA实现排序等简单算法的演示
💻 JAVA
字号:
package testContextModels;

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

import contextsModelManager.*;

public class TestContextModelsMenu {
	public static void main(String[] args) {
		// 初始化主画框,调整其位置和宽度,使得显示出来的按钮更漂亮
		MainSwingFrame.init("Aspect-Oriented Algorithm Animation Tools", 
				MainSwingFrame.getWidth(), MainSwingFrame.getHeight(), 
				MainSwingFrame.getStartX(), MainSwingFrame.getStartY(), "windows");
		MenuCreator demo = new MenuCreator(MainSwingFrame.getContentPane(),
				MainSwingFrame.getMainFrame());
		// 创建演示用的菜单和组件,并菜单放置在主画框,组件放置主画框的内容面板
		demo.createMenu();
		// 启动主画框,并进行演示
		MainSwingFrame.start();
	}
}


class MenuCreator {
	private Container place;			// 放置演示组件的容器
	private JFrame topLevelFrame;		// 放置菜单的顶层容器
	private JPanel output;				// 用于输出结果的文本区域
	
	public MenuCreator(Container place, JFrame topLevelFrame) {
		this.place = place;
		this.topLevelFrame = topLevelFrame;
	}
	// 创建用于演示的组件,并返回放置它们的容器
	public Container createMenu() {
		// 创建一文本区域,用来输出用户对菜单的选择结果
		output = new JPanel();
 
		JScrollPane scrollPane = new JScrollPane(output);
//		scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		place.add(scrollPane, BorderLayout.CENTER);
		// 创建普通菜单和广播按钮菜单项的监听器
		MenuButtonListener menuButtonListener = new MenuButtonListener();

		// 创建菜单条
		JMenuBar mainMenuBar = new JMenuBar();
		topLevelFrame.setJMenuBar(mainMenuBar);		// 放置在顶层容器

		// 创建第一个主菜单项
		JMenu menu = new JMenu("Algorithm Model(A)");
		menu.setMnemonic(KeyEvent.VK_A);		// 设置字符键A为快捷键
		mainMenuBar.add(menu);						// 加入到菜单条

		menu.addSeparator();
		JMenuItem menuItem = new JMenuItem("Open(O)");
		menuItem.setMnemonic(KeyEvent.VK_O);
		menuItem.addActionListener(menuButtonListener);
		menuItem.setActionCommand("OpenAM");
		menu.add(menuItem);

		menuItem = new JMenuItem("Save(S)");
		menuItem.setMnemonic(KeyEvent.VK_S);
		menu.add(menuItem);

		menu.addSeparator();
		menuItem = new JMenuItem("Close(C)");
		menuItem.setMnemonic(KeyEvent.VK_C);
		menu.add(menuItem);

		menu.addSeparator();
		menuItem = new JMenuItem("Generate Skeleton of Algorithm Implementation Model...(I)");
		menuItem.setMnemonic(KeyEvent.VK_G);
		menu.add(menuItem);

		menuItem = new JMenuItem("Generate Skeleton of Algorithm Interesting Events Model...(E)");
		menuItem.setMnemonic(KeyEvent.VK_G);
		menu.add(menuItem);
		
		menu.addSeparator();
		menuItem = new JMenuItem("Exit(X)");
		menuItem.setMnemonic(KeyEvent.VK_X);
		menuItem.addActionListener(menuButtonListener);
		menuItem.setActionCommand("exit");
		menu.add(menuItem);
		
		// 创建第二个主菜单项
		menu = new JMenu("Algorithm Implementation Model(A)");
		menu.setMnemonic(KeyEvent.VK_A);		// 设置字符键A为快捷键
		mainMenuBar.add(menu);						// 加入到菜单条

		menu.addSeparator();
		menuItem = new JMenuItem("Open(O)                                          ");
		menuItem.setMnemonic(KeyEvent.VK_O);
		menu.add(menuItem);

		menuItem = new JMenuItem("Save(S)");
		menuItem.setMnemonic(KeyEvent.VK_S);
		menu.add(menuItem);

		menu.addSeparator();
		menuItem = new JMenuItem("Close(C)");
		menuItem.setMnemonic(KeyEvent.VK_C);
		menu.add(menuItem);

		menu = new JMenu("Algorithm Interesting Events Model(A)");
		menu.setMnemonic(KeyEvent.VK_A);		// 设置字符键A为快捷键
		mainMenuBar.add(menu);						// 加入到菜单条

		menu.addSeparator();
		menuItem = new JMenuItem("Open(O)");
		menuItem.setMnemonic(KeyEvent.VK_O);
		menu.add(menuItem);

		menuItem = new JMenuItem("Save(S)");
		menuItem.setMnemonic(KeyEvent.VK_S);
		menu.add(menuItem);

		menu.addSeparator();
		menuItem = new JMenuItem("Close(C)");
		menuItem.setMnemonic(KeyEvent.VK_C);
		menu.add(menuItem);
		
		menu.addSeparator();
		menuItem = new JMenuItem("Generate Skeleton of Algorithm Animation Model...(I)");
		menuItem.setMnemonic(KeyEvent.VK_G);
		menu.add(menuItem);

		// 创建第二个主菜单项
		menu = new JMenu("Algorithm Animation Model(A)");
		menu.setMnemonic(KeyEvent.VK_A);		// 设置字符键A为快捷键
		mainMenuBar.add(menu);						// 加入到菜单条
 
		menu.addSeparator();
		menuItem = new JMenuItem("Open(O)                                ");
		menuItem.setMnemonic(KeyEvent.VK_O);
		menu.add(menuItem);

		menuItem = new JMenuItem("Save(S)              ");
		menuItem.setMnemonic(KeyEvent.VK_S);
		menu.add(menuItem);

		menu.addSeparator();
		menuItem = new JMenuItem("Close(C)");
		menuItem.setMnemonic(KeyEvent.VK_C);
		menu.add(menuItem);
		
		menu = new JMenu("Help(H)");
		menu.setMnemonic(KeyEvent.VK_H);
		mainMenuBar.add(menu);
 
		menu.addSeparator();
		menuItem = new JMenuItem("about...");
		menuItem.setAccelerator(KeyStroke.getKeyStroke("F1"));
		menuItem.addActionListener(menuButtonListener);
		menuItem.setActionCommand("about");
		menu.add(menuItem);

		return place;
	}

	// 监听按钮类型菜单项的按下动作
	private class MenuButtonListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			JMenuItem source = (JMenuItem)(e.getSource());
			String command = source.getActionCommand();
			if (command.equals("about")) {
				// 弹出一窗口显示一些信息
				JOptionPane.showMessageDialog(MainSwingFrame.getMainFrame(), 
						"Aspect-oriented Algorithm Animation Tools v1.0", "About",
						JOptionPane.WARNING_MESSAGE);
			} else if (command.equals("exit")) {
				// 退出整个程序
				System.exit(1);
			} else if (command.equals("OpenAM")) {
				SimpleModelEditor editor = new SimpleModelEditor(output);
				try {
					editor.open("contextsModels/SortAlgorithm.xml");
				} catch (Exception exc) {
					exc.printStackTrace();
				}
			}
		}
	}
}

⌨️ 快捷键说明

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