Java点名器,文章中内含源码

简介: Java点名器,文章中内含源码
package cn.OrderNameMachine;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Random;
/**
 * 随机点名
 * extends 继承  ,   RollName类也表示窗口类   《==RollName继承JFrame,JFrame是一个窗口类,则RollName也是一个窗口类
 */
public class RollName extends JFrame{
    //定义一个数组
    static String[] names={"张三","李四","王五","阿衰","樱花","关羽","刘备","张飞"};
    //生成随机数字    先new一个Random对象
    static Random random=new Random();
    //TODO 1 创建一个显示器展示文字
    static JLabel label=new JLabel();
    public static void main(String[] args) {
        //先编写第一个版本(不去读txt文档),定义一个字符串的数组,放入名字
        //随机点名   ,需求:数组中随机获取名字  --》》完成需求
//        String name=getName();
//        System.out.println("姓名:"+name);
        //TODO.1.1  展示窗口     Java的GUI程序,先创建窗口
        //创建窗口对象     ctrl+p 查看构造方法的参数
//        JFrame frame=new JFrame("Pash点名器");
        JFrame frame=new RollName();
        //设置窗口大小 ,调用的都是父类的方法
        frame.setSize(600,600);
        //设置布局,null 清楚布局,任意摆放
        frame.setLayout(null);
        label.setBounds(270,150,250,50);
        //给显示器设置一些内容
        label.setText("hello!");
        //显示求存放到窗口
        frame.add(label);
        //搞个按钮
        JButton button=new JButton("点名");
        button.setBounds(240,450,80,40);
        //按钮时可以点击的    给按钮添加一个点击的事件  addMouseListener添加鼠标监听
        button.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
//                System.out.println("按钮被点击了");
                //调用一个方法
                ((RollName) frame).gogo();
            }
        });
        //按钮放置到窗口
        frame.add(button);
        //显示窗口
        frame.setVisible(true);
    }
    //计数器
    static int num=0;
    /**
     * 点名
     * 需求:
     */
    public void gogo(){
        //开启新线程
        Thread t=new Thread(new Runnable() {
            @Override
            public void run() {
                //死循环
                while (true){
                    System.out.println("gogo,lat M M");
                    //把index的值变成随机值       生成随机数字,范围0~int(names.length)-1  通过索引来的
                    int index = random.nextInt(names.length);
                    //从数组中获取内容
                    String name=names[index];
                    label.setText(name);
                    //让num累加
                    num++;
                    //判断,说明已经循环了10次
                    if(num==10){
                        //把num的值恢复成0
                        num=0;
                        break;
                    }
                    try {
                        //休眠
                        Thread.sleep(200);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        });
        //启动线程
        t.start();
    }
    /**
     * 随机获取名字
     * @return
     */
    public static String getName2() {
        //把index的值变成随机值       生成随机数字,范围0~int(names.length)-1  通过索引来的
        int index = random.nextInt(names.length);
        //从数组中获取内容
        String name=names[index];
        return name;
    }
}

image.pngimage.png

目录
相关文章
|
28天前
|
Kubernetes jenkins 持续交付
从代码到k8s部署应有尽有系列-java源码之String详解
本文详细介绍了一个基于 `gitlab + jenkins + harbor + k8s` 的自动化部署环境搭建流程。其中,`gitlab` 用于代码托管和 CI,`jenkins` 负责 CD 发布,`harbor` 作为镜像仓库,而 `k8s` 则用于运行服务。文章具体介绍了每项工具的部署步骤,并提供了详细的配置信息和示例代码。此外,还特别指出中间件(如 MySQL、Redis 等)应部署在 K8s 之外,以确保服务稳定性和独立性。通过本文,读者可以学习如何在本地环境中搭建一套完整的自动化部署系统。
56 0
|
1月前
|
前端开发 Java 编译器
【前端学java】java基础练习缺少项目?看这篇文章就够了!(完结)
【8月更文挑战第11天】java基础练习缺少项目?看这篇文章就够了!(完结)
33 0
|
14天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
160 37
|
1天前
|
数据采集 运维 前端开发
【Java】全套云HIS源码包含EMR、LIS (医院信息化建设)
系统技术特点:采用前后端分离架构,前端由Angular、JavaScript开发;后端使用Java语言开发。
12 5
|
9天前
|
机器学习/深度学习 数据采集 JavaScript
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
ADR药品不良反应监测系统是一款智能化工具,用于监测和分析药品不良反应。该系统通过收集和分析病历、处方及实验室数据,快速识别潜在不良反应,提升用药安全性。系统采用Java开发,基于SpringBoot框架,前端使用Vue,具备数据采集、清洗、分析等功能模块,并能生成监测报告辅助医务人员决策。通过集成多种数据源并运用机器学习算法,系统可自动预警药品不良反应,有效减少药害事故,保障公众健康。
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
|
1月前
|
存储 前端开发 JavaScript
【前端学java】一篇文章带你精通java 中的数组(10)
【8月更文挑战第10天】一篇文章带你精通java 中的数组
13 3
【前端学java】一篇文章带你精通java 中的数组(10)
|
1月前
|
JavaScript 前端开发 Java
java高质量数据流概念讲解,保证一篇文章帮助你搞懂概念!
【8月更文挑战第11天】java高质量数据流概念讲解,保证一篇文章帮助你搞懂概念!
26 0
java高质量数据流概念讲解,保证一篇文章帮助你搞懂概念!
|
1月前
|
缓存 前端开发 JavaScript
一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
【8月更文挑战第11天】一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
30 0
一篇文章助你搞懂java中的线程概念!纯干货,快收藏!
|
1月前
|
前端开发 Java 编译器
【前端学java】java基础练习缺少项目?看这篇文章就够了!(17)
【8月更文挑战第11天】java基础练习缺少项目?看这篇文章就够了!
28 0
【前端学java】java基础练习缺少项目?看这篇文章就够了!(17)
|
1月前
|
Java
Java 新手入门:重载和重写傻傻分不清?一篇文章带你清晰理解!
Java 新手入门:重载和重写傻傻分不清?一篇文章带你清晰理解!
32 0
Java 新手入门:重载和重写傻傻分不清?一篇文章带你清晰理解!