你这样写会调用所有已经注册的监听器。
你试一试下面的方法:
play.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Random r = new Random();
        int i = r.nextInt();
        if (i % 3 == 1) {
            a();
        }
        else if (i % 3 == 2) {
            b();
        }
        else {
            c();
        }
    }
});