效果图如下:

CMain函数:

package com.shubing.main;

public class CMain

{

public static void main(String[] args)

{

MainFrame mainFrame = new MainFrame();

mainFrame.setVisible(true);

}

}

MainFrame函数:

package com.shubing.main;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MainFrame extends JFrame implements ActionListener

{

public static boolean flag = false;

public JButton enter = new JButton("确定");

public JButton exit = new JButton("退出");

public JLabel text = new JLabel("点名");

public JLabel name = new JLabel("姓名");

public String[] nameList = {"王一","刘二","赵三","周四","马五","龙六","张七","贾八","钟九"};

public JLabel message = new JLabel("学生总数:"+nameList.length);

public EnterThread mainThread = null;

public MainFrame()

{

this.setTitle("点名系统");

this.setSize(,);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

this.setLayout(null); //布局为空;

this.setFocusable(false);

text.setBounds(, , , );

name.setBounds(, , , );

enter.setBounds(, , , );

exit.setBounds(, , , );

message.setBounds(, , , );

this.add(text);

this.add(name);

this.add(enter);

this.add(exit);

this.add(message);

enter.setEnabled(true);

exit.setEnabled(false);

Font font = new Font("华文行楷",Font.BOLD,);

this.text.setFont(font);

this.name.setFont(font);

enter.addActionListener(this);

exit.addActionListener(this);

}

@Override

public void actionPerformed(ActionEvent e)

{

if(e.getSource() == enter)

{

mainThread = new EnterThread(this);

mainThread.start();

enter.setEnabled(false);

exit.setEnabled(true);

}

if(e.getSource() == exit)

{

new ExitThread(this).start();

exit.setEnabled(false);

}

}

}

EnterThread函数:

package com.shubing.main;

public class EnterThread extends Thread

{

private MainFrame mainFrame = null;

private boolean isStop = true;

public int time = ;

public EnterThread(MainFrame mainFrame)

{

this.mainFrame = mainFrame;

}

public void stopThread()

{

this.isStop = false;

}

public void run()

{

try

{

int index = ;

while(isStop)

{

if(index == this.mainFrame.nameList.length)

{

index = ;

}

this.mainFrame.name.setText(mainFrame.nameList[index]);

index ++;

Thread.sleep(time);

}

}

catch (InterruptedException e)

{

e.printStackTrace();

}

this.mainFrame.enter.setEnabled(true);

}

}

ExitThread函数:

package com.shubing.main;

public class ExitThread extends Thread

{

private MainFrame mainFrame = null;

public ExitThread(MainFrame mainFrame)

{

this.mainFrame = mainFrame;

}

public void run()

{

try

{

for(int i=;i<=;i+=)

{

this.mainFrame.mainThread.time += i;

sleep();

}

}

catch (InterruptedException e)

{

e.printStackTrace();

}

mainFrame.mainThread.stopThread();

}

}

Java 多线程安全问题简单切入详细解析

线程安全 假如Java程序中有多个线程在同时运行,而这些线程可能会同时运行一部分的代码.如果说该Java程序每次运行的结果和单线程的运行结果是一样的,并且其他的变量值也都是和预期的结果是一样的,那么就 ...

Java多线程——&lt&semi;三&gt&semi;简单的线程执行:Executor

一.概述 按照>中所讲,我们要使用线程,目前都是显示的声明Thread,并调用其start()方法.多线程并行,明显我们需要声明多个 ...

Java多线程实现简单的售票程序

设计一个多线程程序如下:设计一个火车售票模拟程序.假如火车站要有100张火车票要卖出,现在有5个售票点同时售票,用5个线程模拟这5个售票点的售票情况 1.要求打印出每个售票点所卖出的票号 2.各售票点 ...

java多线程的简单demo

模拟场景:顾客买车从车库中取车,厂家生产车,车存储在车库中.买家.厂家对同一个车库中的车操作 一.不加同步机制的代码如下: package com.joysuch.testng.thread; imp ...

Java多线程之简单的线程同步实例

数据类: package Thread.MyCommon; public class Data { public int num = 0; public synchronized int getEve ...

java多线程实现简单队列

1.创建Queue.java public class Queue { private LinkedList list = new LinkedList

Java多线程学习(一)Java多线程入门

转载请备注地址:https://blog.csdn.net/qq_34337272/article/details/79640870 系列文章传送门: Java多线程学习(一)Java多线程入门 Ja ...

Java多线程——&lt&semi;八&gt&semi;多线程其他概念

一.概述 到第八节,就把多线程基本的概念都说完了.把前面的所有文章加连接在此: Java多线程——概述.定义任务 Java多线程——将任务交给线程,线程声明及启动 ...

java多线程那点事

屌丝程序员们对自己的技术能力总是毫不掩饰的高调,更有甚者每当完成一个简单的功能或算法实现,恨不得从工位上跳起来,生怕谁不知道一样,心情能理解,但个人完全鄙视这种行为.说到底,大家日常的coding,大 ...

随机推荐

软件分析(Mobile Apps )--百词斩

1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利么? 他们的目标都是赚取用户的现金么?还是别的? 2) 你个人第一次用此类软件是什么时候,你当 ...

我的 Kernel

求真 工作之后,渐渐与人打交道,人情世俗也慢慢接触了,领了工资之后,也可以买一些自己喜欢的东西,感觉也开始像一个独立完整的人了. 所见所闻也有所想了,有些理念开始慢慢转变了.但是,不知道为什么,对于假 ...

P6 EPPM Manual Installation Guide &lpar;Oracle Database&rpar;

P6 EPPM Manual Installation Guide (Oracle Database) P6 EPPM Manual Installation Guide (Oracle Databa ...

HTML格式与布局

一.position:fixed 锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口.

123

使用struts2和poi导出excel文档

poi眼下应该是比較流行的操作excel的工具了.这几天做了个struts2和poi结合使用来实现导出excel的功能.个人认为还是比較有用的.代码阅读起来也非常easy.下来就来分享下我的心得 1  ...

Algorithm lecture

当前标签: lecture   组合数求法讲解 BLADEVIL 2014-01-08 18:59 阅读:3 评论:0     mobius反演讲解 BLADEVIL 2014-01-08 18:13 ...

JS关闭当前页面的方法

JS关闭当前页面的方法 一.不带任何提示关闭窗口的js代码 1

java点名代码滚动_JAVA多线程实现简单的点名系统相关推荐

  1. java线程代码实现_Java 多线程代码实现讲解

    作为一个完全面向对象的语言,Java提供了类 java.lang.Thread 来方便多线程编程,这个类提供了大量的方法来方便我们控制自己的各个线程.那么如何提供给 Java 我们要线程执行的代码呢? ...

  2. java ui代码实现_Java + Element-UI 实现简单的树形菜单

    一.简单入门级树形菜单实现(纯后台逻辑) 1.简介 (1)开发环境 IDEA + JDK1.8 + mysql 1.8 SpringBoot 2.2.6 + mybatis-plus 此处仅后台开发( ...

  3. java子类代码块_java中父类子类静态代码块、构造代码块执行顺序

    父类静态(代码块,变量赋值二者按顺序执行) 子类静态 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 普通方法在实列调用的时候执行,肯定位于上面之后了 //父类A public class ...

  4. java默认代码地址_Java 8默认方法可能会破坏您的(用户)代码

    java默认代码地址 乍一看, 默认方法为Java虚拟机的指令集带来了一个很棒的新功能. 最后,库开发人员能够开发已建立的API,而不会对其用户代码造成不兼容性. 使用默认方法,当将新方法引入该接口时 ...

  5. java同步方法的特点_java多线程有哪些优点?同步实例代码展示

    在我们的日常学习当中会发现java的知识点是总是息息相关的,可以串联起来.java中多线程的有关内容可以衍生出更多知识,它的优缺点也是非常明显的.你都了解吗?一起来看看吧. 首先为大家介绍一下,多线程 ...

  6. java中thread实例_Java多线程并发执行demo代码实例

    主类:MultiThread,执行并发类 package java8test; import java.util.ArrayList; import java.util.List; import ja ...

  7. java 多线程 动画_Java多线程实现简单动画(小球运动)效果

    Ŀ¼ 首先,严格按照操作系统理论来说,多线程并没有实现真正的同时进行.而是CPU将工作时间分成很多很短的时间片(Time slicing),每个时刻只能执行一个线程. 主要有两种方式实现多线程,一种是 ...

  8. linux java多线程_Java多线程从简单到复杂

    1 输出数字 (1) 多线程操作全局变量任务 package c; /** * @author ZTX * (1) 多线程操作全局变量任务 * 2013-12-14 21:49:17 * * */ p ...

  9. java点名代码滚动_随机点名的java实现(版本一)

    实现思路:在一个文本文件中存储学生姓名,一行一个学生姓名,然后把学生姓名读取到一个ArrayList中,随机生成一个int类型的随机数,用这个随机数做为下标来访问ArrayList. 代码如下: im ...

最新文章

  1. Nat. Biotechnol.| 基于生物活性建模识别抗SARS-CoV-2药物
  2. java脚本_写一个在线Java脚本执行器
  3. python整除表达 mod_[零基础学python]啰嗦的除法
  4. nginx下启动php-fpm相关错误信息集锦(长期补充)
  5. 【Tools】怎样转载博客到CSDN博客(很实用)
  6. Making Sense of Cryptoeconomics
  7. TQ210裸机编程(2)——LED流水灯
  8. 如何选择物联网软件开发供应商
  9. python缺失值填充均值法_pandas 使用均值填充缺失值列的小技巧分享
  10. 世界手机号码格式_脑炎康复之旅——世界脑炎日病友征文
  11. 北京理工大学语音识别技术.ppt
  12. 澳洲计算机科学专业,盘点澳洲八大名校那些最强的专业—计算机科学专业
  13. 模块定义图(BDD)
  14. C. Game Master(强连通分量,缩点,建图
  15. vnc以及xfce安装\xrdp连接
  16. Google-APAC2015-Password Attacker
  17. linux下安装了lxml但依然报错rom lxml import etreeModuleNotFoundError: No module named ‘lxml‘
  18. 1.2 cuda相关常见错误记录(不断更新)
  19. MLSQL生态一键体验
  20. Thumbnail 图片压缩

热门文章

  1. Flink报错:org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable failure threshold
  2. easy excel date 类型解析报错_Python成为专业人士笔记-date 对象、time 对象及datetime用法深度剖析...
  3. m4a转换成mp3如何操作?
  4. IOS小知识点5之内存警告、循环引用、交叉引用
  5. Word里面最难删的东西,困扰了97.99%的职场人,实在是太烦人了
  6. Vuepress-theme-reco 构建博客上传GitHub可以访问,无法正常显示。
  7. 5W无线充发射IC芯片方案XPM7105、XPM7305 无线充SOC芯片
  8. 计算机网络英语作文150字,微信投票的英语,写一篇关于网络投票看法的英语作文150字左右...
  9. Android--耗电优化
  10. 微信公众平台开发-入门教程