我是Java的新手,尤其是JFRAME。我正在研究基本的游戏开发,并创建了一个简单的类来输出一些图形。这是我的代码:

package jframedemo;
import javax.swing.*;
import java.awt.*;

public class JFrameDemo extends JFrame {
    public JFrameDemo(){
        super("JFrameDemo");
        setSize(400,400);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }

    public void paint(Graphics g){
        super.paint(g);
        g.setColor(Color.WHITE);
        g.fillRect(0,0,400,400);
        g.setColor(Color.RED);
        g.setFont(new Font("Arial", Font.BOLD, 18));
        g.drawString("Doing graphics with JFrame!!", 60, 200);
    }

   public static void main(String[] args){
       new JFrameDemo();
    }
}


尽管在编译过程中一切正常,但是当我尝试执行程序时却遇到以下错误:

线程“主”中的异常java.lang.NoClassDefFoundError:JFrameDemo(错误名称:jframedemo / JFrameDemo)

我正在使用Linux Mint 15,并且我的Java版本是1.7.0_25 OpenJDK Runtime Environment。有什么建议为什么会这样吗?

最佳答案

看来JFrameDemo.class不在JVM所期望的名为jframedemo的文件夹中。在尝试编译和运行应用程序之前,请确保JFrameDemo.java位于此文件夹中

然后您的命令行命令将看起来像

javac jframedemo/JFrameDemo.java
java jframedemo.JFrameDemo

10-06 14:33