在JAVA面板中怎么显示当前时间?

请高手可举个列哈

第1个回答  2013-11-23
首先你在面板上 加 一 ge JLabel 标签 然后在返回该标签的方法中写:
jLabe.setText(System.CurrentTime.toString() );
就可以了 可能 CurrentTime 写错了 不过 你写System 后按个 . 它自己会出来 你自己选下!
第2个回答  2013-11-23
用线程实现
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JLabel;

public class SysTime extends Thread{
JLabel lb;
public SysTime(JLabel lb){
this.lb=lb;
}

public void run(){
try {
while(true){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
lb.setText("当前时间:"+sdf.format(new Date()));
sleep(1000);
}
}
catch (Exception ex) {
ex.printStackTrace();
}

}
}

用法:
new SysTime(JLabel).start(); JLabel换成你自己定义的本回答被网友采纳
第3个回答  2015-12-15
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import javax.swing.Timer;
public class JTest
{
public static void main(String args[])
{
JFrame frame=new JFrame("Test");
MyPanel panel=new MyPanel();
frame.add(panel);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
frame.setVisible(true);
}
}
class MyPanel extends JPanel
{
private Run r=new Run();
private JLabel label=new JLabel();
class Listner implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
repaint();
}
}
MyPanel()
{
super();
add(label);
Listner listener=new Listner();
Timer t=new Timer(1000,listener);//每隔1000毫秒重复
t.start();

}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
r=new Run();
GregorianCalendar now=r.getDate();
int hours =now.get(Calendar.HOUR);
int minutes=now.get(Calendar.MINUTE);
int seconds=now.get(Calendar.SECOND);
label.setText(hours+":"+minutes+":"+seconds);

}
}
class Run implements Runnable
{
private GregorianCalendar now=new GregorianCalendar();;
public GregorianCalendar getDate()//返回当前时间
{
return now;
}
public void setClock()
{
now=new GregorianCalendar();//每次触发监听器都使now表示为当前时间

}
//private ClockPanel clock;
private class ClockListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
setClock();//设置时间

}
}
public void run()
{
ClockListener clistener=new ClockListener();
Timer t=new Timer(1000,clistener);//每隔1000毫秒重复
t.start();
}
}
第4个回答  2013-11-23
public class Test
{
public static void main(String[] args)
{
new Thread(
new Runnable()
{
public void run()
{
while(true)
{
System.out.println(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date()));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
).start();
}

}
第5个回答  2013-11-23
Date date = new Date () ;
相似回答