Domanda

Perché visualizzo questo errore quando la classe SystemController si trova nella stessa directory?

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

}
È stato utile?

Soluzione

Suppongo che tu non abbia compilato SystemController da cui dipende Main . Quindi compilare manualmente SystemController prima di compilare Main (ma ciò sarà doloroso a lungo termine se il numero di classi aumenta) o compilare tutto insieme e lasciare che il compilatore calcoli il ordine di compilazione (meglio IMO). Qualcosa del genere:

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

EDIT: dall'errore che hai pubblicato come commento, posso vedere che stai utilizzando GNU GCJ che non supporta completamente Swing . Passare a Sun JDK o OpenJDK. Entrambi dovrebbero essere disponibili come pacchetto, assicurati di renderlo il Java predefinito dopo l'installazione (vedi https: // help.ubuntu.com/community/Java per Ubuntu o una distribuzione basata su Debian, scopri come farlo per un'altra distribuzione).

Altri suggerimenti

Hai compilato SystemController?

try

javac *.java

Ricorda inoltre di specificare il tuo percorso di classe in cui si trovano le classi Swing.

javac -cp classpath *.java
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top