java倒计时,java倒计时器

本文目录一览:

请问用java怎样用窗口做一个90秒倒计时?

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class Test extends JFrame

{

private JButton btn = new JButton(“Start”);

private JLabel label = new JLabel();

private int time = 90;

Test() {

setSize(500,300);

setLayout(new FlowLayout());

add(btn);

add(label);

btn.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

new Thread(new MyThread()).start();

}

});

setVisible(true);

}

class MyThread implements Runnable

{

public void run() {

while (time 0)

{

time–;

label.setText(time + “”);

try

{

Thread.sleep(1000);

}

catch (Exception e)

{

e.printStackTrace();

}

}

Test.this.dispose();

}

};

public static void main(String[] args)

{

new Test();

}

}

javaWeb中如何做倒计时

input type=”button” value=”倒计时” id=”button1″

onClick=”timedMsg()”

script type=”text/javascript”

var c=5;

var t;

function timedMsg()

{

document.getElementById(‘button1’).value=”倒计时”+c;

document.getElementById(‘button1’).disabled=true;

if(c==0){

clearTimeout(t);

window.location.href=”url”;//为跳转地址

}else{

t=setTimeout(‘timedMsg()’,1000);

}

c–;

}

/script

点击按钮开始倒计时,当计时为0的时候跳转

setTimeout设置多少时间调用函数,返回值用于清除定时器

怎么编写一个倒计时的java的程序?求具体步骤!

基于控制台的话很简单的,我跟你说一下大体思路吧,二话不说先来个for循环,然后输出倒计时的数字,程序睡一秒,在输出倒计时数字,如此循环,简单吧,下面看程序:

public static void main(String[] args) {

for(int i=10;i0;i–){

System.out.print(i+” “);

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

System.err.print(“爆炸”);

}

其他基于网页的还是基于用户界面都可以使用这个思路的

用java编一个简单的倒计时表

先不要关闭问题,给我点时间我编出来,我也想断炼一下。

代码如下:

我这程序有点问题 ,这倒计时你讲的功能都有了,但那个暂停按钮有问题,只能用两次,我怎么也找不出原因, 我想是多线程方面的问题吧,按两下那暂停按钮就失去作用了。

————————–MainFrame.java————————————

import java.awt.Button;

import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.Label;

import java.awt.TextField;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class MainFrame extends Frame{

Dispose dp= null;

int flag=1; //暂停开始的按钮,1为计时中,0为暂停。

Button button=null;

Label l1 =null;

Label l2 =null;

Label l3 = null;

TextField tfh =null;

TextField tfm =null;

TextField tfs =null;

public void lanchFrame(){

this.setLocation(200,200);

this.setSize(200,200);

this.setLayout(new FlowLayout());

l1=new Label(“hour”);

tfh = new TextField(“1”,6);

l2=new Label(“minute”);

tfm = new TextField(“3”,6);

l3=new Label(“second”);

tfs = new TextField(“5”,6);

button = new Button(“stop”);

this.add(l1);

this.add(tfh);

this.add(l2);

this.add(tfm);

this.add(l3);

this.add(tfs);

this.add(button);

button.addActionListener(new StartAndStopListener(this));

this.addWindowListener(new MyClosingListener());

this.dp = new Dispose(this);

this.pack();

this.setVisible(true);

}

public static void main(String args[]){

MainFrame mf=new MainFrame();

mf.lanchFrame();

mf.dp.run(mf);

}

private class MyClosingListener extends WindowAdapter{

public void windowClosing(WindowEvent e){

System.exit(0);

}

}

}

————————–Dispose.java————————————

public class Dispose {

int hour;

int minute;

int second;

public Dispose(MainFrame mf) {

this.hour = Integer.parseInt(mf.tfh.getText());

this.minute = Integer.parseInt(mf.tfm.getText());

this.second = Integer.parseInt(mf.tfs.getText());

}

public void run(MainFrame mf) {

while (!(hour == 0 minute == 0 second == 0) mf.flag == 1) {

if (second == 0) {

if (minute 0) {

second = 59;

minute–;

}

}

if (minute == 0) {

if (hour 0) {

minute = 59;

hour–;

}

}

second–;

mf.tfs.setText(second + “”);

mf.tfm.setText(minute + “”);

mf.tfh.setText(hour + “”);

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

——————————StarAndStopListener.java—————————–

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class StartAndStopListener implements ActionListener {

MainFrame mf = null;

public StartAndStopListener(MainFrame mf){

this.mf = mf;

}

public void actionPerformed(ActionEvent arg0) {

if(mf.flag==0){

mf.flag =1;

mf.button.setLabel(“stop”);

mf.dp.run(mf);

}

if(mf.flag == 1){

mf.flag = 0;

mf.button.setLabel(“start”);

}

}

}

java 设计一个简单的倒计时

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.util.Timer;

import java.util.TimerTask;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

public class TimeThreadFrame extends JFrame{

// 定义组件

private JLabel lblTime;

private JTextField txtInput;

private JButton btnEnter;

// 构造方法

public TimeThreadFrame(){

// 设置窗体的相关属性

super(“TimerThread”);

this.setSize(300,200);

this.setLayout(null);

this.setLocation(100,50);

// 创建组件

this.lblTime = new JLabel(“请输入倒计时时间”);

this.lblTime.setBounds(30,20,200,30);

this.txtInput = new JTextField();

this.txtInput.setBounds(30,70,100,30);

this.btnEnter = new JButton(“确定”);

this.btnEnter.setBounds(150,70,70,30);

// 给JTextField注册监听

this.txtInput.addKeyListener(new KeyListener(){

public void keyPressed(KeyEvent ke) {

}

public void keyReleased(KeyEvent ke) {

}

public void keyTyped(KeyEvent ke) {

txtInput_KeyTyped(ke);

}

});

// 给JButton注册监听

this.btnEnter.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent ae){

btnEnter_ActionPerformed(ae);

}

});

// 将各组件添加到窗体上

add(lblTime);

add(txtInput);

add(btnEnter);

// 显示窗体

this.setVisible(true);

}

// 输入时的事件处理,控制用户只能输入数字

public void txtInput_KeyTyped(KeyEvent ke){

if(ke.getKeyChar() ‘0’ || ke.getKeyChar() ‘9’){

ke.setKeyChar(‘\0’);

}

}

// 点击按钮时的事件处理,核心!

public void btnEnter_ActionPerformed(ActionEvent ae){

// 获得用户输入的倒计时时间

String strTime = this.txtInput.getText();

if(strTime.equals(“”)){

// 检测用户是否输入

this.lblTime.setText(“您尚未输入,请输入!”);

}

else{

Integer time = Integer.parseInt(strTime);

// 创建线程

TimeThread tt = new TimeThread(this.lblTime,time);

tt.start();

// 创建Timer

Timer timer = new Timer();

timer.schedule(new TimerTask(){

// 启动其他程序

public void run() {

System.out.print(“ok”);

}

}, time * 1000);

}

}

// 启动窗体

public static void main(String[] args){

new TimeThreadFrame();

}

}

// 时间线程类

class TimeThread extends Thread{

private JLabel lblTime;

private int time;

// 构造方法传入,显示事件的JLabel和倒计时的时间。

public TimeThread(JLabel lblTime, int time){

this.lblTime = lblTime;

this.time = time;

}

// run方法

public void run(){

while(time 0){

// 显示所剩时间

this.lblTime.setText(“所剩时间:” + time);

// 所剩时间减少

time–;

try {

this.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

用java遍写元旦倒计时

import java.util.Calendar;

import java.util.Date;

public class Countdown2 implements Runnable {

public static void main(String[] args) {

Thread cd = new Thread(new Countdown2());

cd.start();

}

@Override

public void run() {

// 设置日期2012-12-21

Calendar c = Calendar.getInstance();

c.set(2016, 1, 1, 0, 0, 0);

// 单独设置年、月、日、小时、分钟、秒

c.set(Calendar.YEAR, 2015);

c.set(Calendar.MONTH, Calendar.DECEMBER); // 0 表示1月,11 表示12月

c.set(Calendar.DAY_OF_MONTH, 21);

c.set(Calendar.HOUR_OF_DAY, 0);

c.set(Calendar.MINUTE, 0);

c.set(Calendar.SECOND, 0);

// 获取2012-12-21 0:0:0时间点对应的毫秒数

long endTime = c.getTimeInMillis();

// 获取系统当前时间

Date now = new Date();

// 获取当前时间点对应的毫秒数

long currentTime = now.getTime();

// 计算两个时间点相差的秒数

long seconds = (endTime – currentTime) / 1000;

while (true) {

long days = seconds / (3600 * 24);

long h = seconds % (3600 * 24) / 3600;

long m = seconds % (3600 * 24) % 3600 / 60;

long s = seconds % (3600 * 24) % 3600 % 60;

System.out.println(“离2016年元旦还剩: ” + days + “天” + h + “小时” + m + “分” + s + “秒”);

seconds–;

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/236849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:01
下一篇 2024-12-12 12:01

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论