import javax.swing.JOptionPane;
import javax.swing.Timer;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import java.awt.Toolkit;public class TextClock {
public static void main(String[] args) {
Clock c=new Clock(true,1000);
c.start();
JOptionPane.showMessageDialog(null,"quit?");
}
}class Clock {
private boolean beep=false;
private int second=0;

public Clock(boolean beep,int second) {
this.beep=beep;
this.second=second;
}

public void start() {
Timer r=new Timer(second,new PrintTime());
}

private class PrintTime implements ActionListener {
public void actionPerformed(ActionEvent e) {
Date now=new Date();
System.out.println(now);
if(beep) Toolkit.getDefaultToolkit().beep();
}
}
}
编译通过了,可是却无法运行。
提示如下:
java.lang.NoClassDefFoundError: TextClock
Exception in thread "main"

解决方案 »

  1.   

    文件名命名为TextClock 而不是Clock
      

  2.   

    1.文件名命名为TextClock.java 而不是Clock.java2.run as swt applicationOK
      

  3.   

    文件名没错是TextClock
    -------------------------------
    2.run as swt application
    -------------------------------
    我用的是命令行,该用什么java??
      

  4.   

    好象又是jdk的问题,重装jdk,换版本,换系统...
      

  5.   

    好象又是jdk的问题,重装jdk,换版本,换系统...
    换CPU,换显卡,换硬盘,换显示器,。。等等。
      

  6.   

    没有抛出异常。
    在main()方法中,要用到try-catch。
      

  7.   

    我编译和运行都通过了,建议重装一次JDK
      

  8.   

    你最好重新设置一下环境变量Path增加jdk位置下的bin目录
      

  9.   

    CLASSPATH的设置错了.把你这个程序编译后生成的.class文件所在的路径拷贝到CLASSPATH中就可以了.