Pregunta

¿Por qué recibo este error cuando la clase SystemController está en el mismo directorio?

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);
    }

}
¿Fue útil?

Solución

Supongo que no compiló SystemController del que depende Main . Entonces, compile manualmente SystemController antes de compilar Main (pero eso será doloroso a largo plazo si el número de clases aumenta) o compile todo junto y deje que el compilador calcule orden de compilación (mejor IMO). Algo como esto:

$ pwd
/path/to/sgs
$ cd ..
$ javac sgs/*.java
$ java -cp . sgs.Main

EDITAR: por el error que publicó como comentario, puedo ver que está utilizando GNU GCJ que no es totalmente compatible con Swing . Cambie a Sun JDK o OpenJDK. Ambos deberían estar disponibles como paquete, solo asegúrese de convertirlo en el Java predeterminado después de la instalación (consulte https: // help.ubuntu.com/community/Java para Ubuntu o una distribución basada en Debian, descubra cómo hacer esto para otra distribución).

Otros consejos

¿Has compilado SystemController?

prueba

javac *.java

Además, recuerde especificar su classpath donde están las clases Swing.

javac -cp classpath *.java
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top