「java时间窗口计数」java时间显示
本篇文章给大家谈谈java时间窗口计数,以及java时间显示对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
用java编写一个计数器或计时器
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TimerDemo extends JFrame implements ActionListener {
private static final long serialVersionUID = 201306211111L;
private JTextField screen = new JTextField("0");
private JButton start = new JButton("开始");
private JButton reset = new JButton("重置");
private JPanel panel = new JPanel();
private boolean isRunning;
private int time;
private int timeBetween;
public TimerDemo(int timeBetween) {
super("计时器");
this.timeBetween = timeBetween;
try {
init();
} catch (Exception e) {
e.printStackTrace();
}
}
public TimerDemo() {
super("计时器");
this.timeBetween = 100;
try {
init();
} catch (Exception e) {
e.printStackTrace();
}
}
private void init() {
panel.setLayout(new GridLayout());
panel.add(start);
panel.add(reset);
start.addActionListener(this);
reset.addActionListener(this);
screen.setFont(new Font("幼圆", Font.BOLD, 60));
screen.setHorizontalAlignment(JTextField.CENTER);
screen.setEditable(false);
Container c = getContentPane();
c.setLayout(new BorderLayout());
c.add(panel, BorderLayout.SOUTH);
c.add(screen, BorderLayout.CENTER);
this.setSize(200, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public static void main(String[] args) {
new TimerDemo(1);// 设定 1ms/次
// new TimerDemo();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == start) {
if (start.getText().equals("开始")) {
start.setText("暂停");
isRunning = true;
} else if (start.getText().equals("暂停")) {
start.setText("开始");
isRunning = false;
}
}
if (e.getSource() == reset) {
start.setText("开始");
screen.setText("0");
isRunning = false;
time = 0;
}
new Thread(new TimeZone()).start();
}
class TimeZone implements Runnable {
@Override
public void run() {
while (isRunning) {
time++;
if (time = Integer.MAX_VALUE) {
screen.setText("ERROR");
JOptionPane.showMessageDialog(null, "ERROR");
isRunning = false;
}
screen.setText(String.valueOf(time));
try {
Thread.sleep(timeBetween);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
JAVA窗口显示当前时间
用 java的 swing做个图形界面 然后显示当前的时间:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JTextField;
import javax.swing.Timer;
import javax.swing.JFrame;
public class NowTime extends JFrame
{
//添加 显示时间的JTextField
private void addComponent(){
JTextField time = new JTextField();
this.getContentPane().add(time);
this.setTimer(time);
}
//显示窗口
private void showTime(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//this.pack();//自动适应窗口大小
this.setSize(160, 80);
this.setVisible(true);
}
//设置Timer 1000ms实现一次动作 实际是一个线程
private void setTimer(JTextField time){
final JTextField varTime = time;
Timer timeAction = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
long timemillis = System.currentTimeMillis();
//转换日期显示格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
varTime.setText(df.format(new Date(timemillis)));
}
});
timeAction.start();
}
//运行方法
public static void main(String[] args) {
NowTime timeFrame = new NowTime();
timeFrame.addComponent();
timeFrame.showTime();
}
}
请问用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();
}
}
关于java时间窗口计数和java时间显示的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。