java如何在一个文本框中不断显示系统当前时间

2024-11-26 18:43:11
推荐回答(3个)
回答1:

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.Timer;

public class ClockText extends JTextField implements ActionListener{
private Timer t ;
Calendar c;
// private String str;
public ClockText(){

super();
s();
this.addActionListener(this);
t.start();
}
public ClockText(int i){
super(i);
s();
this.addActionListener(this);
t.start();
}
private void s(){
t=new Timer(1000,this);
}
public void actionPerformed(ActionEvent e) {
c=Calendar.getInstance();
this.setText(""+c.getTime());
}
public static void main(String args[]){
JFrame f=new JFrame();
f.setSize(500, 200);
f.getContentPane().setLayout(new BorderLayout());
f.getContentPane().add(new ClockText(20),BorderLayout.CENTER);
f.setVisible(true);
}
}
用这个就可以了,ClockText继承自JTextField,你就把它当做文本框控件用就行,用法一样
用add()方法添加组件,该控件已经写好,可以不断显示系统时间

回答2:

如果是cs程序,使用frame之类的,就需要使用线程 Thread。属于java中间的难点。建议你查看相关资料。没有别人教的话,会比较难的。

如果是bs程序,需要在网页中实现的话,一个方法是使用javascript,主要是使用其中的settimeout方法来可以实现显示本机时间。很简单。

另外一个方法是使用ajax来实现。可以显示服务器时间。 比较高的难度

回答3:

在JAVA里就使用Time类做一个定时器,每隔一秒刷新一下文本框
JS里就使用setTimeOut方法,
具体做法网上一大堆