为什么线程无法刷新?

buptwaitme2002 2005-07-09 01:03:40
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
import java.util.*;
public class currentTime extends JDialog implements Runnable
{
private Calendar rightnow,old;
private JTextArea ta;
private String str;
public currentTime(String title)
{
setTitle(title);
rightnow=Calendar.getInstance();
Init();
}
public void Init()
{
str=""+rightnow.get(Calendar.YEAR);
str+="年"+(rightnow.get(Calendar.MONTH)+1);
str+="月"+rightnow.get(Calendar.DATE)+"日";
str+=" "+rightnow.get(Calendar.HOUR_OF_DAY)+":";
str+=rightnow.get(Calendar.MINUTE)+":";
str+=rightnow.get(Calendar.SECOND);
ta=new JTextArea();
ta.setBackground(Color.GRAY);
ta.setText(str);
ta.setEditable(false);
add(ta);
pack();validate();setVisible(true);
}
public void run()
{
Init();
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
e.toString();
}
}
public static void main(String []args)
{
currentTime ct=new currentTime("系统时间");
new Thread(ct).start();
ct.addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
}
}
程序要实时的显示系统时间,为什么不行?
...全文
62 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fansy007 2005-07-09
  • 打赏
  • 举报
回复
//改了改
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
import java.util.*;
public class currentTime extends JDialog implements Runnable
{

Calendar rightNow;
private JTextArea ta=new JTextArea();
private String str;
public currentTime(String title)
{
setTitle(title);
Init();
}
public void Init()
{


rightNow = Calendar.getInstance();
ta.setText(new Integer(rightNow.get(Calendar.SECOND)).toString());
ta.setEditable(false);
this.getContentPane().add(ta);
pack();validate();setVisible(true);
}


private void change()
{
rightNow = Calendar.getInstance();
ta.setText(new Integer(rightNow.get(Calendar.SECOND)).toString());

}

public void run()
{
Init();
while(true)
{
try
{
Thread.sleep(1000);
change();

}

catch(InterruptedException e)
{
e.toString();
}

}
}
public static void main(String []args)
{
currentTime ct=new currentTime("系统时间");
new Thread(ct).start();
/*ct.addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);*/
}
}
buptwaitme2002 2005-07-09
  • 打赏
  • 举报
回复
谢谢!
还是对线程掌握的不好

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧