请教个JAVA程序问题,看看这段代码哪里有问题,怎么在Frame里不显示时间

来源:百度知道 编辑:UC知道 时间:2024/06/05 05:55:40
package ch6;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class ThreadClock implements Runnable{

/**
* @param args
*/
public static void main(String[] args) {
ThreadClock tc=new ThreadClock();
tc.init();
Thread clock1=new Thread(tc);
clock1.start();
// TODO 自动生成方法存根

}
Frame f;
String dateStr;
Graphics g;
public void init()
{
f=new Frame("ThreadClock");
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
f.setSize(300,300);
f.setBackground(Color.blue);
f.setForeground(Color.white);
f.setVisible(true);
}
public void run()
{

//System.out.println(dateStr);
while(true)
{
try
{
Thread.sleep(500);
Calendar cal=Calen

不显示时间?楼主想说的是不是显示时间呀?是想像钟表一样的显示吗?

对你的代码进行了一个修改,你的问题出在你想用画笔在frame里画图,那是不行的,就好像你想用画笔在画板上画画,那肯定是不行的,肯定需要在画板上放一张纸,在纸上话才可以,在这个程序中我仅仅是给你程序中添加了一个jpanel,就可以了,具体的你自己研究代码吧,又不想明白的再问我吧

import java.awt.*;
import java.awt.event.*;
import java.util.*;

import javax.swing.JPanel;

public class ThreadClock implements Runnable {

/**
* @param args
*/
public static void main(String[] args) {
ThreadClock tc = new ThreadClock();
tc.init();
Thread clock1 = new Thread(tc);
clock1.start();
// TODO 自动生成方法存根

}

Frame f;
String dateStr;
Graphics g;
JPanel jp;

public void init() {
f = new Frame("ThreadClock");
jp=new JPanel();
f.add(jp);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setSize(300, 300);