这是我从Core Java Volume 1-Fundamentals复制粘贴的代码。我只是了解概念,并且喜欢看它是否可以编译。当我进入...
javac SimpleFrameTest.java
在终端,它可以编译。但是当我打字
java SimpleFrameTest
我收到以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: SimpleFrameTest (wrong name: simpleFrame/SimpleFrameTest)
这是实际的Java代码。请让我知道我是否应该做一些不同的事情。
package simpleFrame;
import java.awt.*;
import javax.swing.*;
public class SimpleFrameTest
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
SimpleFrame frame = new SimpleFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class SimpleFrame extends JFrame
{
private static final int DEFAULT_WIDTH = 30;
private static final int DEFAULT_HEIGHT = 200;
public SimpleFrame()
{
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
}
}
最佳答案
抱歉,我想念这个问题,这是为什么
java SimpleFrameTest
无法正常工作并引发以下错误
错误的名称:simpleFrame / SimpleFrameTest
是因为如您所见,您的SimpleFrameTest是某个软件包的一部分,在这种情况下为“ simpleFrame”。因此,要运行此类,您还需要在命令中包括软件包名称,例如
java simpleFrame.SimpleFrameTest
Java包(simpleFrame)是一种将Java类组织到名称空间中的机制