这是我的代码,
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();
}
});
}
}
我从oracle网站上复制了这个,并逐字复制和粘贴。 Here
这是我在命令提示符下做的事情?这里有什么问题。我认真对待我的结局。
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>
我做了一个Hello World!程序就在它的父目录之前没有问题。这个错误是什么?出了什么问题?这些例子应该简单而有说服力。这是一个简单的方法,但是一旦涉及图形,窗口上的所有编程都会转到sh * t。跆拳道?这不是重复的。所有类似的质疑参考了一个具体的例子。我以无党派的方式表达了这一点,因此它可以帮助许多人。请不要锁定。
答案 0 :(得分:0)
该类位于包components
中,这意味着
components.FrameDemo
,而非FrameDemo
。components
的目录中:目录结构应与包的结构相匹配。将源文件和类文件混合在同一目录中也是一个坏主意。您应该将源放在src目录下,将类放在单独的类目录下:
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文件,那么您将从一开始就拥有正确的结构。
答案 1 :(得分:0)
编译时的java文件名不正确。
javac Framedemo.java
应该是
javac FrameDemo.java