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

目录
相关文章
|
1月前
|
Java Apache Maven
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
57 6
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
|
20天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第17天】本文详细介绍了Java编程中Map的使用,涵盖Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的并发处理和性能优化技巧,适合初学者和进阶者学习。
35 3
|
2月前
|
数据采集 运维 前端开发
【Java】全套云HIS源码包含EMR、LIS (医院信息化建设)
系统技术特点:采用前后端分离架构,前端由Angular、JavaScript开发;后端使用Java语言开发。
74 5
|
2天前
|
人工智能 监控 数据可视化
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
11 3
|
7天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
30 3
|
13天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
18天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
39 4
|
16天前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
1月前
|
JSON 前端开发 Java
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
文章介绍了Java后端如何使用Spring Boot框架响应不同格式的数据给前端,包括返回静态页面、数据、HTML代码片段、JSON对象、设置状态码和响应的Header。
125 1
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
|
1月前
|
存储 前端开发 Java
Java后端如何进行文件上传和下载 —— 本地版(文末配绝对能用的源码,超详细,超好用,一看就懂,博主在线解答) 文件如何预览和下载?(超简单教程)
本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。
351 1
下一篇
无影云桌面