计数器java代码_计数器的java代码
展开全部
看书觉得很容易,真正写代码才发现真不容易,累死。
我也是JAVA初学者(学了不到半年)32313133353236313431303231363533e58685e5aeb931333234333265,代码肯定有不合适的地方,凑合看吧,反正功能是完成了,代码如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TestClock extends JFrame{
/** Creates a new instance of TestClock */
public TestClock() {
JPanel jp=new JPanel();
final JLabel jl=new JLabel("0");
jp.add(jl);
add(jp,BorderLayout.CENTER);
JButton jbStart=new JButton("开始");
jbStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JButton j =(JButton)e.getSource();
j.setEnabled(false);
dt=new DamThread(new ClockThread(jl));
dt.start();
}
});
JButton jbPause=new JButton("暂停");
jbPause.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JButton j=(JButton)e.getSource();
String s=(String)e.getActionCommand();
if(s.equals("暂停")){
dt.setStatus(ClockStatus.PAUSE);
j.setText("继续");
}else{
dt.setStatus(ClockStatus.CONTINUE);
j.setText("暂停");
}
}
});
JButton jbZero=new JButton("清零");
jbZero.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dt.setStatus(ClockStatus.ZERO);
}
});
JButton jbStop=new JButton("停止");
jbStop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dt.setStatus(ClockStatus.STOP);
}
});
JPanel jp1=new JPanel();
jp1.add(jbStart);
jp1.add(jbPause);
jp1.add(jbZero);
jp1.add(jbStop);
add(jp1,BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
}
public static void main(String[] args) {
TestClock tc=new TestClock();
tc.setVisible(true);
}
DamThread dt;
}
class DamThread extends Thread{
public DamThread(ClockThread c){
this.ct=c;
ct.start();
this.setDaemon(true);
this.STATUS=ClockStatus.START;
}
public void run(){
while(ct.isAlive()){
CheckStatus();
}
}
private void CheckStatus(){
switch(getStatus()){
case PAUSE:
ct.mysuspend();
break;
case ZERO:
ct.seti(0);
ct.label.setText("0");
setStatus(ClockStatus.START);
break;
case STOP:
ct.seti(1001);
break;
case CONTINUE:
ct.myresume();
break;
default:
break;
}
}
public void setStatus(ClockStatus cs){
this.STATUS=cs;
}
public ClockStatus getStatus(){
return STATUS;
}
ClockStatus STATUS;
ClockThread ct;
}
class ClockThread extends Thread{
public ClockThread(JLabel j){
this.label=j;
suspendFlag=false;
}
public void run(){
while(i<=1000){
try {
i++;
label.setText(""+i);
synchronized(this){
while(suspendFlag){
wait();
}
}
sleep(100);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public void seti(int in){
this.i=in;
}
public void mysuspend()
{
suspendFlag=true;
}
synchronized void myresume()
{
suspendFlag=false;
notify();
}
private boolean suspendFlag;
private int i=0;
JLabel label;
}
enum ClockStatus{
START,PAUSE,ZERO,STOP,CONTINUE
}
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
计数器java代码_计数器的java代码相关推荐
- java翻译程序_有没有java代码翻译软件?
展开全部 没有翻译软件,但是能32313133353236313431303231363533e78988e69d8331333365646333编写翻译程序. java 代码翻译实例: 1.输入一个 ...
- JAVA拳皇_拳皇(Java简单的小程序)代码实例|chu
刚开始学习Java,看完老九君的视频根据他的内容敲的代码,感觉还挺有成就感的,毕竟刚学习Java. package helloasd;import java.util.*; public class ...
- java 中断代码_你的java代码可中断吗?(2)
1.确保提交到线程池的任务可中断 原文:www.securecoding.cert.org,TPS02-J. Ensure thattasks submitted to a thread pool a ...
- 红牛农场java代码_实验题目 Java语言概述.doc
实验题目 Java语言概述 实验一 Java语言概述 [实验目的] 1.掌握开发Java应用程序的三个步骤:编写源文件.编译源文件和运行应用程序. 2.熟悉Java应用程序的基本结构,并能联合编译应用 ...
- java格斗代码_一款Java网络格斗游戏源码JAVA游戏源码下载
一款JAVA网络格斗游戏,分服务端和游戏端,通过这个源代码你能够了解到用JAVA编写网络服务端的实例,还可了解到JAVA游戏的显示类.游戏控制类.游戏界面绘制类和声音调用类等. 一款Java网络格斗游 ...
- 小学数学闯关游戏 java代码_简单的java程序 小学数学闯关游戏 多谢高分
展开全部 有4个类 MainFrame,Question,QuestionPanel,ResultPanel import java.awt.BorderLayout; import java.awt ...
- 安卓 java内存碎片_理解Android Java垃圾回收机制
Jvm(Java虚拟机)内存模型 从Jvm内存模型中入手对于理解GC会有很大的帮助,不过这里只需要了解一个大概,说多了反而混淆视线. Jvm(Java虚拟机)主要管理两种类型内存:堆和非堆. 堆是运行 ...
- java 虚拟机_浅谈Java虚拟机内存区
1. Java 虚拟机内存区概述 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主 ...
- 什么样的代码是好代码_什么是好代码?
什么样的代码是好代码 编码最佳实践 (Coding Best-Practices) In the following section, I will introduce the topic at ha ...
- python 代码_如何让Python代码加速运行?
Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...
最新文章
- MyEclipse断点调试
- P1091 合唱队形[单调性+DP]
- python删除word表格中的某一行_python docx删除word段落
- SQLite入门之数据类型
- python3打包exe运行没反应_python selenium运行,打包exe常见问题解决方法
- mysql set语句_mysql--乱码解决(6)
- Mysql 集群双主双从安装使用详细讲解
- C#预处理器指令 用法
- JVM初学之类的加载过程
- maven 集成 CXF
- yaws mysql_MySQL入门之C语言操作MySQL
- cmd窗口命令行上移下移_微软新版命令行界面:Windows Termina...
- 发现了一个好用的艺术字体转换器,也太方便了吧
- 第三方微信和支付宝的支付流程
- 学习技术的三部曲:WHAT、HOW、WHY【转】
- 递归实现 1,1,2,3,5,8,….第 30 个数是多少?
- Verilog 实现千兆网UDP协议 基于88E1111--数据接收
- 利用递推公式的特征方程求解通项公式
- 常见的传输介质及其特性
- PowerDesigner设计MySQL表结构转SQLServer问题