Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

оконная программа не компилируется

12K
18 апреля 2006 года
direct
20 / / 03.04.2006
Доброго времени суток! Начал изучать оконные приложения, пытаюсь запустить такой пример:

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 не появляется, что делать?:)
спасибо за ответ!
391
19 апреля 2006 года
Archie
562 / / 03.02.2005
Цитата:
Originally posted by direct

Запускаю компилятор:
d:\jdk1.4\bin\javac win.java
а файл win.class не появляется, что делать?:)
спасибо за ответ!



А что компилер пишет? Ничего не пишет он только в одном случае - когда все прошло успешно.

11K
19 апреля 2006 года
0ver10PD
45 / / 05.12.2005
Цитата:
Originally posted by Archie
А что компилер пишет? Ничего не пишет он только в одном случае - когда все прошло успешно.


 
Код:
import java.awt.*;

public class First extends Frame {
    public static void main(String[] args) {
        Frame fr = new First();
        fr.setSize(400, 150);
        fr.setVisible(true);
    }
}


и файл соответственно переименовать в First.java
12K
19 апреля 2006 года
direct
20 / / 03.04.2006
Переименовал в 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)
Где ошибка-то?:)
11K
20 апреля 2006 года
0ver10PD
45 / / 05.12.2005
Цитата:
Originally posted by direct
Переименовал в 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"
тогда ты сможешь запускть запускать классы из пупки где они находятся

12K
23 апреля 2006 года
direct
20 / / 03.04.2006
А и правда, надо First.java с большой буквы писать - вот хитрый компилятор:) Окно появилось, правда почему-то не закрывается крестиком, но буду дальше разруливать! Спасибо за помощь!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог