首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:无法找到或加载主类FrameDemo?

错误:无法找到或加载主类FrameDemo?
EN

Stack Overflow用户
提问于 2016-12-17 08:58:33
回答 2查看 1K关注 0票数 0

这是我的密码

代码语言:javascript
复制
package components;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/* FrameDemo.java requires no other files. */
public class FrameDemo {
/**
 * Create the GUI and show it.  For thread safety,
 * this method should be invoked from the
 * event-dispatching thread.
 */
private static void createAndShowGUI() {
    //Create and set up the window.
    JFrame frame = new JFrame("FrameDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JLabel emptyLabel = new JLabel("");
    emptyLabel.setPreferredSize(new Dimension(175, 100));
    frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

    //Display the window.
    frame.pack();
    frame.setVisible(true);
}

public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
    //creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            createAndShowGUI();
        }
    });
}
}

我从甲骨文网站复制和粘贴逐字。这里

这就是我在指挥提示符下要做的事?这里有什么问题。我真的快要死了。

代码语言:javascript
复制
Directory of C:\Users\headgearxthree\Desktop\SCRAP\JAVA\compile\gui

12/17/2016  12:42 PM    <DIR>          .
12/17/2016  12:42 PM    <DIR>          ..
12/17/2016  12:29 PM             2,765 FrameDemo.java
           1 File(s)          2,765 bytes
           2 Dir(s)  51,945,787,392 bytes free

C:\Users\headgearxthree\Desktop\SCRAP\JAVA\compile\gui>javac Framedemo.java

C:\Users\headgearxthree\Desktop\SCRAP\JAVA\compile\gui>java -cp . FrameDemo
Error: Could not find or load main class FrameDemo

C:\Users\headgearxthree\Desktop\SCRAP\JAVA\compile\gui>

我创造了一个你好世界!程序就在它的父目录中,没有问题。这个错误是什么?出什么问题了?这些例子应该是简单和雄辩的。这是一个简单的方法,但一旦涉及到图形,windows上的所有编程都会转到sh*t. Wtf?这不是复制的。所有类似的质疑都提到了一个具体的例子。我用一种没有党派色彩的方式表达了这一点,这样就可以帮助很多人。请不要锁门。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-17 09:12:22

类在包components中,这意味着

  • 它的完全限定名是components.FrameDemo,而不是FrameDemo
  • 它的源文件应该位于一个名为components的目录中:目录的结构应该与包的结构相匹配。

在同一个目录中混合源文件和类文件也是个坏主意。您应该将源代码放在src目录下,类放在单独的类目录下:

代码语言:javascript
复制
mkdir src
mkdir classes
mkdir src/components
mv FrameDemo.java src/components
javac -d classes src/components/FrameDemo.java
java -cp classes components.FrameDemo

注意,如果您正确阅读了教程并从https://docs.oracle.com/javase/tutorial/uiswing/examples/components/下载了整个项目zip文件,那么从一开始就有正确的结构。

票数 0
EN

Stack Overflow用户

发布于 2016-12-17 09:35:16

编译时的java文件名不正确。

javac Framedemo.java

应该是

javac FrameDemo.java

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41196959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档