java手写摇股子神器GUI

public class RollName extends JFrame{
    // 定义字符串类型的数组
    static String[] names = {"1","2","3","4","5","6"};
    // random类的作用,生成随机数字
    static Random random = new Random();
    // 创建显示器,用来展示文字
    static JLabel jLabel = new JLabel();
    public static void main(String[] args) {
//        String name = getName();
//        System.out.println(name);
        // 准备展示窗口,java的GUI的程勋,先创建窗口
        // 创建窗口对象 jframe 快捷键:Ctrl+p构造方法的参数
        RollName jFrame = new RollName();
        jFrame.setTitle("摇股子神器");
        // 设置窗口大小
        jFrame.setSize(400,250);
        // 清除按钮,组件可以随意摆放
        jFrame.setLayout(null);
        // 设置关闭
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置居中
        jFrame.setLocationRelativeTo(null);
        // 给显示器规定位置 xy wh显示器宽高
        jLabel.setBounds(100,50,200,50);
        // 给显示器设置内容
        jLabel.setText("你好,请开始摇股子吧!");
        jLabel.setBorder(BorderFactory.createLineBorder(Color.black));
        // 设置字体
        jLabel.setFont(new Font("宋体",Font.PLAIN,20));
        jLabel.setForeground(Color.blue);

        // 把显示器存放到窗口上
        jFrame.add(jLabel);

        // 再搞个按钮
        JButton jButton = new JButton("摇股子");
        jButton.setBounds(150,150,80,40);
        // 按钮可以点击的,给按钮添加点击的事件
        jButton.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                rollName();
            }
        });
        jFrame.add(jButton);
        // 显示窗口
        jFrame.setVisible(true);
    }

    // 计数器
    static int num = 0;
    // 点名
    private static void rollName() {
        // 开启新的线程
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                // 死循环
                while (true){
                    // 随机获取到一个数字,范围0-9
                    int index = random.nextInt(names.length);
                    // 从数组中获取内容
                    String name = names[index];
                    jLabel.setText(name);
                    // 让num累加
                    num ++;
                    // 判断大于6就已经循环6次了
                    if (num == 30) {
                        // 把num的值恢复为0
                        num = 0;
                        break;
                    }
                    try {
                        // 休眠
                        Thread.sleep(50);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        });
        thread.start();
    }
}

 


版权声明:本文为weixin_60948956原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。