1

我是java新手,我遇到了一个错误(经过半小时的搜索)并没有显示出来。我有两门课(这是我遵循的教程):

板子.java:

package skeleton;

import javax.swing.JPanel;

public class Board extends JPanel {
    public Board() {}
}

和 Skeleton.java (我已经剥离了不相关的材料):

package skeleton;

import javax.swing.JFrame;

public class Skeleton extends JFrame {
    public Skeleton() {
        add(new skeleton.Board());
    }
    public static void main(String[] args) {
        new Skeleton();
    }
}

我编译了它们,但是 Skeleton 得到了它找不到 Board 的错误。有谁知道为什么 javac 找不到一个在那里的类?

编辑:它们都在同一个名为“skeleton”的文件夹中。另外,我的操作系统是windows xp prof。

4

3 回答 3

1

If its in the same package you don't need to use namespace to call the second class.

Try checking if Board.class file is present in the folder. The just use new Board(); to instantiate.

于 2012-07-28T19:10:07.903 回答
1

试一试。

$ ls      
skeleton
$ ls skeleton
Board.java  Skeleton.java
$ javac skeleton/*.java
$ ls skeleton
Board.class  Board.java  Skeleton.class  Skeleton.java

调用 javac 命令,使两个 .class 文件都出现在骨架中。此外,在运行时确保骨架的父目录在类路径中。

于 2012-07-28T19:55:12.100 回答
0

假设您在同一目录中编译并运行:

运行时然后使用

java -cp . skeleton.Skeleton
于 2012-07-28T21:33:27.287 回答