java点名代码滚动_JAVA多线程实现简单的点名系统
效果图如下:
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多线程——<;三>;简单的线程执行: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多线程——<;八>;多线程其他概念
一.概述 到第八节,就把多线程基本的概念都说完了.把前面的所有文章加连接在此: Java多线程——概述.定义任务 Java多线程——将任务交给线程,线程声明及启动 ...
java多线程那点事
屌丝程序员们对自己的技术能力总是毫不掩饰的高调,更有甚者每当完成一个简单的功能或算法实现,恨不得从工位上跳起来,生怕谁不知道一样,心情能理解,但个人完全鄙视这种行为.说到底,大家日常的coding,大 ...
随机推荐
软件分析(Mobile Apps )--百词斩
1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利么? 他们的目标都是赚取用户的现金么?还是别的? 2) 你个人第一次用此类软件是什么时候,你当 ...
我的 Kernel
求真 工作之后,渐渐与人打交道,人情世俗也慢慢接触了,领了工资之后,也可以买一些自己喜欢的东西,感觉也开始像一个独立完整的人了. 所见所闻也有所想了,有些理念开始慢慢转变了.但是,不知道为什么,对于假 ...
P6 EPPM Manual Installation Guide (Oracle Database)
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多线程实现简单的点名系统相关推荐
- java线程代码实现_Java 多线程代码实现讲解
作为一个完全面向对象的语言,Java提供了类 java.lang.Thread 来方便多线程编程,这个类提供了大量的方法来方便我们控制自己的各个线程.那么如何提供给 Java 我们要线程执行的代码呢? ...
- java ui代码实现_Java + Element-UI 实现简单的树形菜单
一.简单入门级树形菜单实现(纯后台逻辑) 1.简介 (1)开发环境 IDEA + JDK1.8 + mysql 1.8 SpringBoot 2.2.6 + mybatis-plus 此处仅后台开发( ...
- java子类代码块_java中父类子类静态代码块、构造代码块执行顺序
父类静态(代码块,变量赋值二者按顺序执行) 子类静态 父类构造代码块 父类构造方法 子类构造代码块 子类构造方法 普通方法在实列调用的时候执行,肯定位于上面之后了 //父类A public class ...
- java默认代码地址_Java 8默认方法可能会破坏您的(用户)代码
java默认代码地址 乍一看, 默认方法为Java虚拟机的指令集带来了一个很棒的新功能. 最后,库开发人员能够开发已建立的API,而不会对其用户代码造成不兼容性. 使用默认方法,当将新方法引入该接口时 ...
- java同步方法的特点_java多线程有哪些优点?同步实例代码展示
在我们的日常学习当中会发现java的知识点是总是息息相关的,可以串联起来.java中多线程的有关内容可以衍生出更多知识,它的优缺点也是非常明显的.你都了解吗?一起来看看吧. 首先为大家介绍一下,多线程 ...
- java中thread实例_Java多线程并发执行demo代码实例
主类:MultiThread,执行并发类 package java8test; import java.util.ArrayList; import java.util.List; import ja ...
- java 多线程 动画_Java多线程实现简单动画(小球运动)效果
Ŀ¼ 首先,严格按照操作系统理论来说,多线程并没有实现真正的同时进行.而是CPU将工作时间分成很多很短的时间片(Time slicing),每个时刻只能执行一个线程. 主要有两种方式实现多线程,一种是 ...
- linux java多线程_Java多线程从简单到复杂
1 输出数字 (1) 多线程操作全局变量任务 package c; /** * @author ZTX * (1) 多线程操作全局变量任务 * 2013-12-14 21:49:17 * * */ p ...
- java点名代码滚动_随机点名的java实现(版本一)
实现思路:在一个文本文件中存储学生姓名,一行一个学生姓名,然后把学生姓名读取到一个ArrayList中,随机生成一个int类型的随机数,用这个随机数做为下标来访问ArrayList. 代码如下: im ...
最新文章
- Nat. Biotechnol.| 基于生物活性建模识别抗SARS-CoV-2药物
- java脚本_写一个在线Java脚本执行器
- python整除表达 mod_[零基础学python]啰嗦的除法
- nginx下启动php-fpm相关错误信息集锦(长期补充)
- 【Tools】怎样转载博客到CSDN博客(很实用)
- Making Sense of Cryptoeconomics
- TQ210裸机编程(2)——LED流水灯
- 如何选择物联网软件开发供应商
- python缺失值填充均值法_pandas 使用均值填充缺失值列的小技巧分享
- 世界手机号码格式_脑炎康复之旅——世界脑炎日病友征文
- 北京理工大学语音识别技术.ppt
- 澳洲计算机科学专业,盘点澳洲八大名校那些最强的专业—计算机科学专业
- 模块定义图(BDD)
- C. Game Master(强连通分量,缩点,建图
- vnc以及xfce安装\xrdp连接
- Google-APAC2015-Password Attacker
- linux下安装了lxml但依然报错rom lxml import etreeModuleNotFoundError: No module named ‘lxml‘
- 1.2 cuda相关常见错误记录(不断更新)
- MLSQL生态一键体验
- Thumbnail 图片压缩
热门文章
- Flink报错:org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable failure threshold
- easy excel date 类型解析报错_Python成为专业人士笔记-date 对象、time 对象及datetime用法深度剖析...
- m4a转换成mp3如何操作?
- IOS小知识点5之内存警告、循环引用、交叉引用
- Word里面最难删的东西,困扰了97.99%的职场人,实在是太烦人了
- Vuepress-theme-reco 构建博客上传GitHub可以访问,无法正常显示。
- 5W无线充发射IC芯片方案XPM7105、XPM7305 无线充SOC芯片
- 计算机网络英语作文150字,微信投票的英语,写一篇关于网络投票看法的英语作文150字左右...
- Android--耗电优化
- 微信公众平台开发-入门教程