当 SystemController 类位于同一目录中时,为什么我会收到此错误?
sgs$ javac Main.java
Main.java:27: cannot find symbol
symbol : class SystemController
location: class sgs.Main
SystemController sc = new SystemController();
^
Main.java:27: cannot find symbol
symbol : class SystemController
location: class sgs.Main
SystemController sc = new SystemController();
^
2 errors
package sgs;
import javax.swing.JFrame;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
boolean loginSuccess = false;
//Login login = new Login();
//login.setVisible(true);
//login.loadAccounts("files/accounts.txt");
SystemController sc = new SystemController();
sc.setVisible(true);
sc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
我的猜测是你没有编译
SystemController
所依赖的Main
。因此,要么在编译 SystemController
之前手动编译 Main
(但从长远来看,如果类数量增加,这将是痛苦的),或者将所有内容一起编译并让编译器计算编译顺序(IMO 更好)。像这样的东西:
$ 密码 /路径/到/sgs $ 光盘 .. $ javac sgs/*.java $ java -cp . sgs.Main
编辑:从您作为评论发布的错误中,我可以看到您正在使用GNU GCJ,它不完全支持Swing。请切换到Sun JDK或OpenJDK。两者都应该作为软件包提供,只需确保在安装后将其设置为默认 Java(对于 Ubuntu 或基于 Debian 的发行版,请参阅 https://help.ubuntu.com/community/Java,了解如何执行此操作)另一个发行版)。
你编译了SystemController吗?
尝试
javac *.java
另外,请记住指定 Swing 类所在的类路径。
javac -cp classpath *.java