| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 898 人关注过本帖
标题:关于JMenuItem的问题,请教
只看楼主 加入收藏
bbflyer
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-8-11
收藏
 问题点数:0 回复次数:2 
关于JMenuItem的问题,请教
用JMenuItem JMenu JMenuBar建立起菜单,菜单中有若干选项

  点file后下拉菜单有

model a

model b

model c

...

现在我点model a ,请问用什么方法可以将model a中的内容改成其他的 如MODEL A

即怎样该JMenuItem中的值       最好不要用过时的函数 setLabel()方法

求救,在线等
搜索更多相关主题的帖子: JMenuItem 
2005-09-28 23:57
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
import javax.swing.JMenuBar;
import java.awt.Color;
import javax.swing.JMenu;
import java.awt.event.KeyEvent;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import java.awt.event.InputEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;

public class ChangeMenuItemDemo extends JMenuBar
{
  final Color bgColor = new Color(240,240,240);
  JMenuItem modelAJMI, modelBJMI, modelCJMI, exitJMI;

  ChangeMenuItemDemo()
  {
    super();
    setBackground(bgColor);

    //create an ActionListener for all menuItem
    MyActionListener myActionListener = new MyActionListener();
   
    //build your firt menu
    JMenu fileJM = new JMenu("File");
    fileJM.setBackground(bgColor);
    fileJM.setMnemonic(KeyEvent.VK_F);
    add(fileJM);

    //a group of JMenuItems
    //model a with index 0
    modelAJMI = new JMenuItem("model a");
    modelAJMI.setMnemonic(KeyEvent.VK_A);
    modelAJMI.setAccelerator(
      KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK));
    modelAJMI.addActionListener(myActionListener);   
    fileJM.add(modelAJMI);
   
    //model b with index 1
    modelBJMI = new JMenuItem("model b");
    modelBJMI.setMnemonic(KeyEvent.VK_B);
    modelBJMI.setAccelerator(
      KeyStroke.getKeyStroke(KeyEvent.VK_B, InputEvent.CTRL_MASK));   
    modelBJMI.addActionListener(myActionListener);
    fileJM.add(modelBJMI);

    //model c with index 2
    modelCJMI = new JMenuItem("model c");
    modelCJMI.setMnemonic(KeyEvent.VK_C);
    modelCJMI.setAccelerator(
      KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK));   
    modelCJMI.addActionListener(myActionListener);
    fileJM.add(modelCJMI);

    //add separator with index 3
    fileJM.addSeparator();  
   
    //exit with index 4
    exitJMI = new JMenuItem("exit");
    exitJMI.addActionListener(myActionListener);
    fileJM.add(exitJMI);
  }
  class MyActionListener implements ActionListener
  {
    public void actionPerformed(ActionEvent ae)
    {
      Object source = ae.getSource();
      if(source == modelAJMI)
        modelAJMI.setText("MODEL A");
      else if(source == modelBJMI)
      {
        // you can add your code here...
      }
      else if(source == modelCJMI)
      {
        // you can add your code here...
      }
      else if(source == exitJMI)
        System.exit(0);
    }
  }
  public static void main(String [] args)
  {
    JFrame frame = new JFrame("ChangeMenuItemDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setJMenuBar(new ChangeMenuItemDemo());
    frame.setSize(500, 300);
    frame.setVisible(true);
  }
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-09-29 07:56
bbflyer
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-8-11
收藏
得分:0 
谢谢版主!
2005-09-29 12:41
快速回复:关于JMenuItem的问题,请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043632 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved