用JLabel显示时间-- JAVA初学者遇到的一个困难
问题:用一个JLabe,显示秒数,每过一秒数字自动减少1
问题看似很简单,但对初学JAVA的我来说,还真费了一点劲。
首先是如何即时,可以采用线程的方法:
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
timeLeft --;
Thread.sleep( n )
代表过n个毫秒之后再接着走下一步程序,也就是说n为1000时,在这停一秒再继续走接下去的步骤。相当于计时一秒。
那怎么样让JLabel显示时间呢?
其实JLabel有这样一个方法:
void setText( String )
将要显示的部分变成一个String,然后就能改变JLabel的内容
那这样子就能简单的用JLabel显示时间了:
package Pra12;
import java.awt.*;
import javax.swing.*;
public class SimpleTimer extends JFrame implements Runnable {
int timeLeft = 10;
JLabel jl = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleTimer st = new SimpleTimer();
}
public SimpleTimer() {
// TODO Auto-generated constructor stub
jl = new JLabel();
jl.setText( "10" );
Thread th = new Thread( this );
th.start();
this.add( jl );
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.setSize( 200 , 100);
this.setVisible( true );
}
@Override
public void run() {
// TODO Auto-generated method stub
while( true ) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
timeLeft --;
if( timeLeft == -1 ) {
timeLeft = 10;
}
jl.setText( timeLeft+"" );
}
}
}
用JLabel显示时间-- JAVA初学者遇到的一个困难的更多相关文章
- Java初学者作业——输入一个五位数字,计算各位数字之和并输出,运行结果为五个数字之和(实践2)
返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个五位数字,计算各位数字之和并输出,运行结果为五个数字之和. 实现思路: (1)声明变量num,用于存储用户输入的数字. (2)通过Sca ...
- Java初学者作业——定义一个计算器类, 实现计算器类中加、 减、 乘、 除的运算方法, 每个方法能够接收2个参数。
返回本章节 返回作业目录 需求说明: 定义一个计算器类, 实现计算器类中加. 减. 乘. 除的运算方法, 每个方法能够接收2个参数. 实现思路: 定义计算器类. 定义计算器类中加.减.乘.除的方法. ...
- Java如何以不同国家的格式显示时间?
在Java中,如何以不同国家的格式显示时间? 以下示例使用Locale类和DateFormat类来显示不同国家格式的日期. package com.yiibai; import java.text.D ...
- Java初学者必学的JSTL
所谓JSTL就是标签库 JSP Standard Tag Library,如果做为java初学者你看不懂那些$符号的话,就有必要来了解一下JSTL,如果你看到满眼的<%}%>(Scrip ...
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- 对Java初学者的忠告
1) 适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况. 如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的 ...
- 一位资深程序员给予Java初学者的学习路线建议
一位资深程序员给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干 ...
- 转载:一位资深程序员大牛给予Java初学者的学习路线建议
一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打 ...
- Java初学者应该注意的学习问题
作为初学者,在刚开始学习的时候,一定会走很多弯路.但其实很多弯路是不必走的,会浪费很多时间,导致学习效率大打折扣.今天小编给大家讲述一下,作为一个Java初学者,在开始学习的时候应该注意的问题,应该从 ...
随机推荐
- javascript绑定事件
本质:不同的库或者工具中总是封装了不同的事件绑定形式,但是究其根源,还是IE事件模型和W3C事件模型不同的处理方式 1)W3C事件模型:支持事件捕捉和冒泡 addEventListener('type ...
- SQL每个月份的发生额都比101科目多的科目
请用SQL语句实现:从TestDB数据表中查询出所有月份的发生额都比101科目相应月份的发生额高的科目.请注意:TestDB中有很多科目,都有1-12月份的发生额. ...
- (转)CreateThread与_beginthreadex本质区别
本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beg ...
- mysql server5.6.28 修改数据目录
1.查看配置文件 mysql --help | grep my.cnf 列出使用哪个配置文件(顺序推) 2.service mysql stop 3.创建新目录 mkdir /data 4.迁移之前的 ...
- Stack trace对性能的影响
package ceshi; public class ExceptionTest { public long maxLevel = 20; public static void main(Strin ...
- DC游戏《斑鸠》原创赏析[转载]
游戏背景: 凤来之国本来只是边远地区的一个小国.但现在他们却自称为得到“神之力”的“神通者”,在“选民思想”“和平统一”之类的名义下开始了对各地的武力侵略. 事情的起因是因为凤来之 ...
- 用于COB工艺的PCB设计指导
绑定角度尽量在45°之内,多于这个角度,绑定时候,银线不好打入焊盘.而且打入焊盘的尾部可能短路到相邻的焊盘,绑定焊盘之间的间距一般在4MIL为极限,半场的工艺一般就这样了.而且焊盘离被绑定的IC引脚最 ...
- 没有开发者账号,如何解锁wp8设备
原文 http://www.cnblogs.com/vsdot/p/3263454.html 问题的引入 好了,问题的由来是这样的,我想把我开发的wp8手机部署到手机上,可是竟然出现了下面的问题: [ ...
- 导入Excel加行公式和验证
package com.sprucetec.tms.controller.fee.export; import com.sprucetec.tms.controller.base.BaseFeeExp ...
- 利用相关的Aware接口
Struts 2提供了Aware接口.Aware为"感知"的意思,实现了相关Aware接口的Action能够感知相应的资源.Struts在实例化一个Action实例时,如果发现它实 ...