public class myclass extends JFrame implements ActionListener

解决方案 »

  1.   

    public void actionPerformed(ActionEvent e) {
    if(e.getSource()==JMenuname1)
    …………
    else if(e.getSource()==JMenuname2)
    …………
    }
      

  2.   

    不好意思,刚学Swing,看不懂………………………
    能不能帮忙讲解一下,谢了
      

  3.   

    e.getSource()==JMenuname1
    是判斷你的事件是否源自JMenuname1,如果是的話,就執行裡面的代碼,如果不是就繼續向下執行判斷else if(e.getSource()==JMenuname2)
      

  4.   

    那不是要建一个JMenuname1实例才可以,要建一两百个实例,那电脑差一点的会不会死翘翘啊?不翘也很慢吧?
      

  5.   

    去看看Action范式吧.
    100多个菜单项......,太多了吧.
    不过做法都是一样的.
      

  6.   

    to wojue() :
    是这意思。
      

  7.   

    to huidaoren(huidaoren):
    那应该怎么建?是不是这样的,
    先建顶级菜单,然后给他们加上action,点击时action去生成子菜单,再把action去掉?
    但这样的话,如果有人每个都点的话也得建实例。我的想法是只用一个实例,这个实例里有所有模块的信息,而每个菜单项在被点击时返回一个关键ID,通过ID取得信息再生成模块的实例,不知这样可不可以实现?
      

  8.   

    基本同意kofight(kofight)
    因为上百个菜单几乎可以肯定是(至少是大部分或分成几个部分)用for(;;)之类的循环来生成的,那么他们之间必然有逻辑上的联系,而且通常是可以以数组的形势来表现,那么他们每个就有一个ID.
      

  9.   

    如果是下拉菜单你可以在点击一个menu之后再实例化里面的menuitems阿!!!
    不必要一下子实例化全部的!!  ^_^
      

  10.   

    我想好了,应该这样子,就一个actionListener实例,他做的事就是取到每个事件的唯一标识,然后调用新线程来实现这种模块的转化,他本身就可以返回接受其它事件。我现在当心的是这现做会不会有什么缺陷或毛病,请大家帮忙找找bug。例如有人同时点击两个按钮什么的会不会出现问题?