java 实时显示系统时间 急!!!

import javax.swing.*;
import java.awt.*;
import java.util.TimerTask;
import java.util.Timer;
import java.util.*;
import java.text.*;
import java.util.Date;

public class Time extends JFrame {
JLabel systemTime;
public Time(){

setTitle("sbgaowenchao");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

systemTime = new JLabel("系统时间:");
Container cp = getContentPane();
systemTime.setBounds(20,20,200,200);
cp.setLayout(null);
cp.add(systemTime);

setSize(800,800);

}
public static void main(String[] args){

TimerTask task = new TimerTask() {
JButton logoutbutton;

public void run() {

Calendar st = Calendar.getInstance();
String sdate;
Date ddate;
ddate=st.getTime();
sdate=(new SimpleDateFormat("yyyy-MM-dd")).format(ddate);
systemTime.setText(sdate);

}
};

Time s = new Time();
s.show();

}
}

问题如题 这是自己编的有问题 希望高手解答
急!!!! 帮我改或者重编一个都行

第1个回答  推荐于2016-03-25
在你的基础上改了下 你看看 思想就是通过定时任务每一秒钟执行一次取当前时间的动作
import javax.swing.*;
import com.sun.org.apache.bcel.internal.generic.NEW;
import java.awt.*;
import java.util.Timer;
import java.util.*;
import java.text.*;
import java.util.Date;

public class Time extends JFrame {
JLabel systemTime;
public Time(){

setTitle("sbgaowenchao");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

systemTime = new JLabel("系统时间:");
Container cp = getContentPane();
systemTime.setBounds(20,20,200,200);
cp.setLayout(null);
cp.add(systemTime);

setSize(800,800);

setVisible(true); //add by me

}

JButton logoutbutton;
public static void main(String[] args){

TimerTask task = new TimerTask() {

Time time = new Time();

public void run() {

//comment by me
/* Calendar st = Calendar.getInstance();
String sdate;
Date ddate;
ddate=st.getTime();*/

//add by me below:

String sdate;
sdate=(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")).format(new Date());
time. systemTime.setText(sdate);

}
};

Timer t = new Timer();

t.scheduleAtFixedRate(task, new Date(), 1000);

}
}本回答被提问者采纳
第2个回答  2010-06-02
import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;
import java.awt.geom.*;
import java.util.*;
class Clock extends Canvas implements ActionListener
{
Date date;
Timer secondtime;
int hour,munite,second;
Line2D secondLine,muniteLine,hourLine;
int a,b,c;
double pointsx[]=new double[60];
double pointsy[]=new double[60];
double pointmx[]=new double[60];
double pointmy[]=new double[60];
double pointhx[]=new double[60];
double pointhy[]=new double[60];
public Clock()
{
secondtime=new Timer(1000,this);
pointsx[0]=0;
pointsy[0]=-100;
pointmx[0]=0;
pointmy[0]=-90;
pointhx[0]=0;
pointhy[0]=-70;
double angle=6*Math.PI/180;
for(int i=0;i<59;i++)
{
pointsx[i+1]=pointsx[i]*Math.cos(angle)-Math.sin(angle)*pointsy[i];
pointsy[i+1]=pointsy[i]*Math.cos(angle)+Math.sin(angle)*pointsx[i];
pointmx[i+1]=pointmx[i]*Math.cos(angle)-Math.sin(angle)*pointmy[i];
pointmy[i+1]=pointmy[i]*Math.cos(angle)+Math.sin(angle)*pointmx[i];
pointhx[i+1]=pointhx[i]*Math.cos(angle)-Math.sin(angle)*pointhy[i];
pointhy[i+1]=pointhy[i]*Math.cos(angle)+Math.sin(angle)*pointhx[i];
}
for(int i=0;i<60;i++)
{
pointsx[i]=pointsx[i]+120;
pointsy[i]=pointsy[i]+120;
pointmx[i]=pointmx[i]+120;
pointmy[i]=pointmy[i]+120;
pointhx[i]=pointhx[i]+120;
pointhy[i]=pointhy[i]+120;
}
secondLine=new Line2D.Double(0,0,0,0);
muniteLine=new Line2D.Double(0,0,0,0);
hourLine=new Line2D.Double(0,0,0,0);
secondtime.start();

}
public void paint(Graphics g)
{
for(int i=0;i<60;i++)
{
int m=(int)pointsx[i];
int n=(int)pointsy[i];
if(i%5==0)
{
g.setColor(Color.red);
g.fillOval(m-4,n-4,8,8);
}
else
{
g.setColor(Color.cyan);
g.fillOval(m-2,n-2,4,4);
}
}
g.fillOval(115,115,10,10);
Graphics2D g2d=(Graphics2D)g;
g2d.setColor(Color.red);
g2d.draw(secondLine);
BasicStroke bs=new BasicStroke(3f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);
g2d.setStroke(bs);
g2d.setColor(Color.blue);
g2d.draw(muniteLine);
bs=new BasicStroke(6f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);
g2d.setStroke(bs);
g2d.setColor(Color.green);
g2d.draw(hourLine);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==secondtime)
{
date=new Date();
String s=date.toString();
hour=Integer.parseInt(s.substring(11,13));
munite=Integer.parseInt(s.substring(14,16));
second=Integer.parseInt(s.substring(17,19));
int h=hour%12;
a=second;
b=munite;
c=h*5+munite/12;
secondLine.setLine(120,120,(int)pointsx[a],(int)pointsy[a]);
muniteLine.setLine(120,120,(int)pointmx[b],(int)pointmy[b]);
hourLine.setLine(120,120,(int)pointhx[c],(int)pointhy[c]);
repaint();
}
}
}
public class zhongbiao
{
public static void main(String args[])
{
Frame frm=new Frame();
frm.add(new Clock(),BorderLayout.CENTER);
frm.setSize(500,500);
frm.validate();
frm.setVisible(true);
frm.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}

参考资料:http://jminggood163.blog.163.com/blog/static/97428491200810183033302/

java 实时显示系统时间 急!!!
import java.util.Timer;import java.util.*;import java.text.*;import java.util.Date;public class Time extends JFrame { JLabel systemTime;public Time(){ setTitle("sbgaowenchao");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);systemTime = new JLabel("系统时间:");Container cp = ...

在java中,如何在标签中每秒显示一下当前系统时间
你好,这个很容易实现,开启一个子线程,不断地对标签设置当前的时间 new Thread() { public void run() { try { while (true) { jLabel1.setText(new Date().toLocaleString());\/\/显示当前时间 Thread.sleep(1000);\/\/暂停一秒 } } catch (Exception e) { } } }.start();...

在Java中如何输出当前系统日期?
SimpleDateFormat sdf = new SimpleDateFormat("dd\/MM\/yyyy");\/\/ sdf=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");\/\/ 当前系统时间Date date = new Date();\/\/ 调用format(Date date)对象传入的日期参数进行格式化\/\/ format(Date date)将日期转化成字符串String formatDate = sdf.f...

【Java】怎样获取当前系统时间,需要的格式为yyyy-MM-dd HH:mm:ss_百 ...
1、打开Eclipse的主界面,需要通过图示的按钮来引入java包。2、下一步开始第一种方法,直接输入图示的代码。3、或者用第二种方法,增加图示的代码来组合各个字段。4、以上两种方法都会在控制台输出图示的结果,即可实现【Java】获取当前系统时间了。

请问JAVA中获取系统当前时间该怎么写
方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码:import java.util.*;import java.text.*;\/\/以下默认时间日期显示方式都是汉语语言方式 \/\/一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53 \/\/以下显示的日期...

在JSP中加入Java代码获得系统时间
一. 获取当前系统时间和日期并格式化输出:代码如下 复制代码 import java.util.Date;import java.text.SimpleDateFormat;public class NowString { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");\/\/设置日期格式 System.out.pri...

Java 获取本地系统时间
import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.text.*;public class MyClock extends Applet implements Runnable { private volatile Thread timer;\/\/定义变量 private int lastxs,lastys,lastxm,lastym,lastxh,lastyh;private SimpleDateFormat ...

java 这是一个秒表,我想把显示的时间变成系统时间要怎么做,具体操作...
简单的写了一个时间显示的程序 时间显示的格式 时:分:秒 毫秒 参考代码如下 import java.awt.*;import java.awt.event.*;import java.text.SimpleDateFormat;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.Timer;\/\/注意导入的是javax.swing.Timer; 有一些类似的包不要...

Java在form文件中的txtfield文本获取系统动态时间
;document.getElementById("time").value=hour+":"+minute+":"+second+"";var myTime=setTimeout("disptime()",1000);} <!--当打开网页时即调用显示时间的方法-->

java的Date类的问题!求大神!
1、使用Date类代表当前系统时间 Date d = new Date();System.out.println(d);使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象,显示的结果如下:Sun Mar 08 16:35:58 CST 2009 在该格式中,Sun代表Sunday(周日),Mar代表March(...

相似回答