菜单栏和右键弹出框

原创 2012年03月23日 09:15:45
class MenuFrame extends JFrame {
 public MenuFrame() {
  this.setTitle("Menu Test");
  this.setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
  JMenu fileMenu = new JMenu("File");
  fileMenu.add(new TestAction("New"));
  JMenuItem openItem = fileMenu.add(new TestAction("Open"));
  openItem.setAccelerator(KeyStroke.getKeyStroke("ctrl o"));
  fileMenu.addSeparator();
  saveAction = new TestAction("Save");
  JMenuItem saveItem = fileMenu.add(saveAction);
  saveItem.setAccelerator(KeyStroke.getKeyStroke("ctrl s"));
  saveAsAction = new TestAction("Save As");
  fileMenu.add(saveAsAction);
  fileMenu.addSeparator();
  fileMenu.add(new AbstractAction("Exit") {
   public void actionPerformed(ActionEvent event) {
    System.exit(0);
   }
  });
  readonlyItem = new JCheckBoxMenuItem("Read-Only");
  readonlyItem.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent event) {
    boolean saveOk = !readonlyItem.isSelected();
    saveAction.setEnabled(saveOk);
    saveAsAction.setEnabled(saveOk);
   }
  });
  ButtonGroup group = new ButtonGroup();
  JRadioButtonMenuItem insertItem = new JRadioButtonMenuItem("Insert");
  insertItem.setSelected(true);
  JRadioButtonMenuItem overtypeItem = new JRadioButtonMenuItem("Overtype");
  group.add(insertItem);
  group.add(overtypeItem);
  Action cutAction = new TestAction("Cut");//copyAction,pasteAction一样
  cutAction.putValue(Action.SMALL_ICON, new ImageIcon("c:/picture/1.gif"));
  JMenu editMenu = new JMenu("Edit");
  editMenu.add(cutAction);//copyAction,pasteAction
  JMenu optionMenu = new JMenu("Options");
  optionMenu.add(readonlyItem);
  optionMenu.addSeparator();
  optionMenu.add(insertItem);//overtypeItem
  editMenu.addSeparator();
  editMenu.add(optionMenu);
  JMenu helpMenu = new JMenu("Help");
  helpMenu.setMnemonic('H');
  JMenuItem indexItem = new JMenuItem("Index");
  indexItem.setMnemonic('I');
  helpMenu.add(indexItem);
  Action aboutAction = new TestAction("About");
  aboutAction.putValue(Action.MNEMONIC_KEY, new Integer('A'));
  helpMenu.add(aboutAction);
  JMenuBar menuBar = new JMenuBar();
  this.setJMenuBar(menuBar);
  menuBar.add(fileMenu);//editMenu,helpMenu
  //右键弹出框
  popup = new JPopupMenu();
  popup.add(cutAction);//copyAction,pasteAction
  JPanel panel = new JPanel();
  panel.setComponentPopupMenu(popup);
  this.add(panel);
  panel.addMouseListener(new MouseAdapter() {
  });
 }
}

MFC学习笔记.day03-菜单,图形标记菜单创建,菜单栏禁用,命令响应,右键弹出菜单,添加菜单

菜单命令响应View类先响应,接下来是Doc类,然后是我们的CMainframe,最后是我们的App类。菜单消息的响应过程:首先是-《框架类》接受消息,然后交给《view类》,不能响应则继续转交给《d...

mui顶部菜单栏弹出框遮挡问题

问题描述: 要求实现的就是在主页面index下subpages4个子页面作为navtab,而点击顶部的菜单栏右上角会有弹出窗口,问题是弹出窗口在subpages下会被遮盖 ...

如何自定义创建windows的右键弹出菜单(C++)

在进行windows编程时,很多人都会想到使用自定义的邮件弹出菜单。先上代码 实现文件: //---------------------------------------------------...

js实现右键弹出多级菜单特效

转自:http://www.zzjs.net/html/2656.html 右击鼠标弹出四级导航菜单,可自定义菜单内容和数量。 代码如下: 站长特效 js实现右键...

delphi TDbGrid 右键 PopupMenu 菜单只在有数据的地方弹出

====================================================== 注:本文源代码点此下载 =============================...

孙鑫VC++深入详解:Lesson6 Part3 ---创建右键弹出菜单 TrackPopupMenu

1  -----增加右键弹出菜单方法一:      Project-->Add to Project-->Components and Controls -->Visual C++ Component...
  • sergery
  • sergery
  • 2013年07月05日 14:13
  • 6981

MFC CListBox实现右键单击弹出菜单

项目要求 在界面的列表框中 实现右键单击选择项 时,弹出菜单,并且处理这个菜单 一、创建右键菜单资源 右击项目->添加->资源->Menu->新建 添加菜单项 二、处理菜单COMMAND消息 ...
  • csd1208
  • csd1208
  • 2013年05月10日 11:25
  • 993

MFC制作右键弹出菜单 指定位置

一、在资源编辑器中建立一个菜单资源         新建一个菜单资源,比如把菜单的ID号为IDC_POPMENU。此菜单有一项两层,即有一个可弹出的菜单项,而此菜单项的弹出内容即为将要建立的弹出式菜...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:菜单栏和右键弹出框
举报原因:
原因补充:

(最多只允许输入30个字)