我想写一个手机号抽奖的程序,屏幕上有个框里面手机号不断滚动,但是现在不知道怎么实现滚动的效果,谢谢达人指教

解决方案 »

  1.   

    用一个hashmap,key是自然数,value是手机号。在界面上显示此hashmap的value,也就是手机号。显示的具体value用随机的key选出,在一个循环之中随机产生key,点击某个按键的时候跳出循环,得到抽出的手机号。
      

  2.   

    比如:
    package com.mobile.phone.take.out;import java.util.HashMap;
    import java.util.Random;
    import java.io.IOException;
    public class MobilePhoneTakeOut {
        static int stopFlag;    public static void main(String args[]) {
            HashMap phoneNumber = new HashMap();
            phoneNumber.put(new Integer(1), "13945667725");
            phoneNumber.put(new Integer(2), "13945794833");
            phoneNumber.put(new Integer(3), "13984733437");
            phoneNumber.put(new Integer(4), "13949069473");
            phoneNumber.put(new Integer(5), "13289450158");
            phoneNumber.put(new Integer(6), "13900237642");
            phoneNumber.put(new Integer(7), "13823756232");
            phoneNumber.put(new Integer(8), "13387453796");
            phoneNumber.put(new Integer(9), "13624602217");
            phoneNumber.put(new Integer(0), "13634657836");        PhoneNumber phoneNumberThread = new PhoneNumber(phoneNumber);
            phoneNumberThread.start();        GetResult getResult = new GetResult();
            getResult.start();    }
    }class GetResult extends Thread {    static boolean stop = false;    public void run() {
            try {
                if (System.in.read()!=-1) {
                    stop = true;
                    Thread.yield();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }    }
    }class PhoneNumber extends Thread {
        HashMap phoneNumber;
        PhoneNumber(HashMap phoneNumber) {
            this.phoneNumber = phoneNumber;
        }    public void run() {
            while (true) {
                try {
                    if (GetResult.stop) {
                        break;
                    }
                    
                    System.out.println(phoneNumber.get(new Integer(new Random().nextInt(9))));
                    Thread.sleep(100);
                    Thread.yield();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
      

  3.   

    还有一种很简单的方法,取网上找个GIF会东的图片或者,用FLASH实现虚拟滚动,程序写程序的,显示只是个幌子