你试试这种结构:需要捕获事件时,执行一次switch(一个随机数){
  case XX:
    play.addActionListener(a);
    //...
  case xxx:
    play.addActionListener(b);
    //...
  case xxxx:
    play.addActionListener(c);
    //...
}
我自己想的,可能还不对,也不知道你的程序是什么样子的。

解决方案 »

  1.   

    自己写一个随机数产生器,用switch结构,你的随机数产生器的种子可以用你的鼠标运行的轨迹中的某个点,也可以用时间做种子。
      

  2.   

    试试下面这个,给你一个不同的思路.Vector listeners = new Vector();
    listeners.add(a);
    listeners.add(b);
    ...
    actionPerformed(...)
       int index = System.currentTimeMillise() % listeners.size();
       // player.removeListeners();
       player.addListener((Listener)listeners.elementAt(index));
    }
      

  3.   

    我只告诉你如何随机,定义一个Date对象,取出其秒,
    随机数=(其秒数+事件数)%事件数
      

  4.   

    我赞同:
    写一个随机数产生器,用switch结构,