返回信息流要编倒计时器,怎么改啊。。java菜鸟
package example2;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class mytimer1 extends JFrame{
JPanel panel = null;
public int hour=3;
public int minute=0;
public int second=0;
public String texta;
public String textb;
public String textc;
JTextField text1 = null;
JTextField text2 = null;
JTextField text3 = null;
JTextField text4 = null; //用来显示倒计时啊。
JButton button1 = null;
JButton button2 = null;
JButton button3 = null;
JLabel label1=null;
JLabel label2=null;
JLabel label3=null;
MyThread thread = null;
Thread t = null;
//构造函数创建窗口外观
mytimer1(){
init();
this.setTitle("倒计时");
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
}
void init(){
panel = new JPanel();
text1 = new JTextField(10);
text2 = new JTextField(10);
text3 = new JTextField(10);
text4 = new JTextField(10);
JLabel label1=new JLabel("输入小时");
JLabel label2=new JLabel("输入分钟");
JLabel label3=new JLabel("输入秒数");
MyAction e =new MyAction();
button1 = new JButton("倒计时开始");
button1.addActionListener(e);
thread = new MyThread();
t = new Thread(thread);
panel.setLayout(new GridLayout(2,2,5,5));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(label3);
panel.add(text3);
panel.add(button1);
panel.add(text4);
this.add(panel);
}
class MyThread extends Thread implements Runnable{
@Override
public void run() {
while (minute * second >= 0) {
text4.setText(hour + ":" + minute + ":" + second);
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (second != 0) {second--;}
else {second = 60;}
if (minute > 0) {
minute--;
}else{
return;
}
}
}
}
class MyAction implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == button1)
{
String texta=text1.getText();
hour=Integer.parseInt(texta); //将用户所输入的三个数字赋值给h,m,s
String textb=text2.getText();
minute=Integer.parseInt(textb);
String textc=text3.getText();
second=Integer.parseInt(textc);
t.start();
}
}
}
public static void main (String[] args){
new mytimer1();
}
}
这是一条镜像帖。来源:北邮人论坛 / java / #28929同步于 2014/3/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
java小白能不能求看改一下代码
yhwcdn
2014/3/21镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class DaoJiShi extends JFrame {
JPanel panel = null;
public int hour = 3;
public int minute = 0;
public int second = 0;
public String texta;
public String textb;
public String textc;
JTextField text1 = null;
JTextField text2 = null;
JTextField text3 = null;
JTextField text4 = null; // 用来显示倒计时啊。
JButton button1 = null;
JButton button2 = null;
JButton button3 = null;
JLabel label1 = null;
JLabel label2 = null;
JLabel label3 = null;
MyThread thread = null;
Thread t = null;
// 构造函数创建窗口外观
DaoJiShi() {
init();
this.setTitle("倒计时");
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
}
void init() {
panel = new JPanel();
text1 = new JTextField(10);
text2 = new JTextField(10);
text3 = new JTextField(10);
text4 = new JTextField(10);
JLabel label1 = new JLabel("输入小时");
JLabel label2 = new JLabel("输入分钟");
JLabel label3 = new JLabel("输入秒数");
MyAction e = new MyAction();
button1 = new JButton("倒计时开始");
button1.addActionListener(e);
thread = new MyThread();
t = new Thread(thread);
panel.setLayout(new GridLayout(2, 2, 5, 5));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(label3);
panel.add(text3);
panel.add(button1);
panel.add(text4);
this.add(panel);
}
class MyThread extends Thread implements Runnable {
@Override
public void run() {
while (hour * minute * second >= 0) {
text4.setText(hour + ":" + minute + ":" + second);
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (second > 0) {
second--;
} else {
if (minute > 0) {
minute --;
second = 59;
} else {
if (hour > 0) {
hour --;
minute = 59;
second = 59;
} else {
text4.setText("到时了");
return;
}
}
}
}
}
}
class MyAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == button1) {
String texta = text1.getText();
if ("".equals(texta)) {
hour = 0;
} else {
hour = Integer.parseInt(texta);
if (hour > 10 || hour < 0) {
text1.setText("");
return;
}
}
String textb = text2.getText();
if ("".equals(textb)) {
minute = 0;
} else {
minute = Integer.parseInt(textb);
if (minute > 60 || minute < 0) {
text2.setText("");
return;
}
}
String textc = text3.getText();
if ("".equals(textc)) {
second = 0;
} else {
second = Integer.parseInt(textc);
if (second > 60 || second < 0) {
text3.setText("");
return;
}
}
t.start();
}
}
}
public static void main(String[] args) {
new DaoJiShi();
}
}
【 在 yhwcdn (heaven) 的大作中提到: 】
: 要编倒计时器,怎么改啊。。java菜鸟
: package example2;
: import java.awt.*;
: ...................
看下MyTread 和 MyAction
【 在 yhwcdn (heaven) 的大作中提到: 】
: 要编倒计时器,怎么改啊。。java菜鸟
: package example2;
: import java.awt.*;
: ...................