оконная программа не компилируется
import java.awt.*;
class First extends Frame{
public static void main(String[] args){
Frame fr=new First();
fr.setSize(400, 150);
fr.setVisible(true);
}
}
все это в файле win.java
Запускаю компилятор:
d:\jdk1.4\bin\javac win.java
а файл win.class не появляется, что делать?:)
спасибо за ответ!
Запускаю компилятор:
d:\jdk1.4\bin\javac win.java
а файл win.class не появляется, что делать?:)
спасибо за ответ!
А что компилер пишет? Ничего не пишет он только в одном случае - когда все прошло успешно.
А что компилер пишет? Ничего не пишет он только в одном случае - когда все прошло успешно.
public class First extends Frame {
public static void main(String[] args) {
Frame fr = new First();
fr.setSize(400, 150);
fr.setVisible(true);
}
}
и файл соответственно переименовать в First.java
d:\jdk1.4\bin\java first
и куча ошибок:
Exception in thread "main" java.lang.NoClassDefFoundError:
first (wrong name: First)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Где ошибка-то?:)
Переименовал в first.java - компилирует! Дальше запускаю:
d:\jdk1.4\bin\java first
и куча ошибок:
Exception in thread "main" java.lang.NoClassDefFoundError:
first (wrong name: First)
..
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Где ошибка-то?:)
Ошибка вот first (wrong name: First)
И имя файла и класа должны быть одинаковы если модификатор доступа к классу public
в файле у тебя класс начинается с большой буквы, а пытаешся запустить класс с маленькой.
Т.е. тебе надо переименовать файл чтоб он был с большой буквы (хотя он скорей всего у тебя и так с большой иначе бы не скомпилировало) и запускать:
d:\jdk1.4\bin\java First
Кстати в системе лучше всего путь "d:\jdk1.4\bin\" добавить в системную переменную "Path" и необходимо создать системную переменную "CLASSPATH" присвоив ей значение:
".;C:\jdk1.4\jre\lib;C:\jdk1.4\lib;C:\jdk1.4\jre\lib\ext;C:\jdk1.4\lib\ext"
тогда ты сможешь запускть запускать классы из пупки где они находятся