Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Начал изучать Java и столкнулся с проблемой


Автор: dr. Akon 5.9.2003, 14:28
Здравствуйте!
Начал изучать Java и столкнулся с проблемой. Причем мучаюсь целый день, бьюсь в конвульсиях smile.gif
Даже стыдно говорить, Не могу заставить браузер отобразить мой первый в жизни аплет. Вроде все сделал как надо. Поместил файл содержащий аплет в тот же каталог что расположил html файл. Написал внутри html файла теги, что-то вроде этого:

<applet code="AppletCalculator.class" width=250 height=250 alt="облом">
</applet>

Но браузер мой аплет не отображает. Перебробовал все. Ничего не помогает. Пожскажите, что я делаю не так? withstupid.gif

Автор: Sun 5.9.2003, 14:34
Давай по порядку:
- какая у тебя ОС
- какой у тебя броузер
- что пишет/рисует твой броузер?

Автор: dr. Akon 5.9.2003, 14:46
ос W2000 sp3
баузер IE6 sp1
аплет писал на IntelliJ-IDEA-3.0.5

браузер просто резервирует место 250х250 пикселей и все.
А аплет вьювер правильно аплет показывает

Спасибо что откликнулся

Автор: SmaLL 5.9.2003, 14:56
Предлагаю поставить ява-плагин для ИЕ версии 1.4
или откомпилить апплет с jdk1.1

Автор: dr. Akon 5.9.2003, 15:00
спасибо за совет!!

Буду очень Вам признателен, если подскажите откуда можно скачать ява-плагин для ИЕ версии 1.4
?
у меня jdk1.4.2

Автор: Sun 5.9.2003, 15:02
Попробуй запустить консоль Java (пункт меню View) и затем открыть твою страничку. В случае ошибки на консоль будет выведен текст ошибки и stack trace. Это поможет понять в чем проблема.

Автор: dr. Akon 5.9.2003, 15:13
Простите. я не понял. "консоль Java (пункт меню View)" это в какой среде? IntelliJ-IDEA-3.0.5?

Автор: DarkDS 5.9.2003, 15:22
В ИЕ меню view включается ява консоль...
ЗЫ. Аплет с использованием Свингов написан? (код привести можешь?)

Автор: DarkDS 5.9.2003, 15:24
Если там нет, то смотри в Tools->Internet Options->Advanced (чекбокс Java Console Enabled)

Автор: DarkDS 5.9.2003, 15:26
Цитата(dr @ 5.9.2003, 15:00)
спасибо за совет!!

Буду очень Вам признателен, если подскажите откуда можно скачать ява-плагин для ИЕ версии 1.4
?
у меня jdk1.4.2

По поводу плугина... 1.4 автоматом ставит (точнее српашивает при инстале - ставить ли плугин)

Автор: Devorior 5.9.2003, 15:31
надо код смотреть

Автор: dr. Akon 8.9.2003, 08:04
Огромная признательность всем, кто потратил свое время на помощь.
Я запустил ява консоль из IE.
И вот что оно мне выдало:

Error loading class: AppletCalculator
java.lang.NoClassDefFoundError
java.lang.ClassNotFoundException: AppletCalculator
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/vm/loader/URLClassLoader.loadClass
at com/ms/applet/AppletPanel.securedClassLoad
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.processSentEvent
at com/ms/applet/AppletPanel.run
at java/lang/Thread.run

Значит ошибка в программе. Это теперь я понял. Объясните пожалуйста, почему тогда Аплетвьювер отображает все без проблем?

И если можно, вот мой код, что я не так сделал?


/**
* Created by IntelliJ IDEA.
* User: ***
* Date: 05.09.2003
* Time: 15:43:23
* To change this template use Options | File Templates.
*/

import java.applet.*;
import java.awt.*;

public class AppletCalculator extends Applet {

Integer Operand1;
Integer Operand2;
int Operation=0;
TextField Tf=new TextField(50);
Button PlusB=new Button("+");
Button MinusB=new Button("-");
Button DivB=new Button("/");
Button MultB=new Button("*");
Button EqB=new Button("=");
Button ClearB=new Button("C");


public void init() {

this.setBackground(Color.blue);
setLayout(null);
int W = Integer.parseInt(getParameter("width"));
int H = Integer.parseInt(getParameter("height"));
Font fC = new Font("TimesRoman", Font.BOLD, 18);
this.setFont(fC);
Font fTf = new Font("TimesRoman",Font.TRUETYPE_FONT, 14);

Tf.setBounds(0,0,W/10*8,H/10);
Tf.setEditable(false);
ClearB.setBounds(W/10*8,0,W-W/10*8,H/10);
Tf.setFont(fTf);
add(Tf);
add(ClearB);

DoNumPanel(H,W);
DoMDEPanel(H,W);

}

private void DoMDEPanel(int H, int W) {
Panel MDEPanel=new Panel();
int R=(H-H/10)/4;
MDEPanel.setLayout(new GridLayout(2,1));
MDEPanel.setBounds(W*3/4,H/10,W-W*3/4,R*2);

MDEPanel.add(MultB);
MDEPanel.add(DivB);
add(MDEPanel);

EqB.setBounds(W*3/4,H/10+R*2,W-W*3/4,R*2);
add(EqB);

}

private void DoNumPanel(int H, int W){
Panel PN=new Panel();
PN.setLayout(new GridLayout(4,3));

for (int i=0; i<10; i++ ){
PN.add(new Button(""+i));
}
PN.setBounds(0,H/10,W*3/4,H-H/10);
PN.add(PlusB);
PN.add(MinusB);
add(PN);

}

public boolean action(Event E, Object obj){

if( (obj.toString()!="+") && (obj.toString()!="-")
&& (obj.toString()!="*") && (obj.toString()!="/")
&& (obj.toString()!="="))
Tf.setText(Tf.getText()+obj.toString());


if (E.target==ClearB) { //нажата клавиша C
Operation=0; Tf.setText(""); }

if (E.target==PlusB) { //нажата клавиша +
Operation=1;
Operand1=new Integer(Tf.getText());
Tf.setText(""); }

if (E.target==MinusB) { //нажата клавиша -
Operation=2;
Operand1=new Integer(Tf.getText());
Tf.setText(""); }

if (E.target==MultB) { //нажата клавиша *
Operation=3;
Operand1=new Integer(Tf.getText());
Tf.setText(""); }

if (E.target==DivB) { //нажата клавиша /
Operation=4;
Operand1=new Integer(Tf.getText());
Tf.setText(""); }


if (E.target==EqB) { //нажата клавиша =
Operand2=new Integer(Tf.getText());
ShowRes(Operand1,Operand2);
Operation=0;
}


return true;
}

private void ShowRes(Integer OPERAND1,Integer OPERAND2) {
switch(Operation)
{
case(1): Tf.setText(""+(OPERAND1.intValue()+OPERAND2.intValue())); break; //сложение
case(2): Tf.setText(""+(OPERAND1.intValue()-OPERAND2.intValue())); break;//вычитание
case(3): Tf.setText(""+(OPERAND1.intValue()*OPERAND2.intValue())); break;//умножение
case(4): { //деление
if (OPERAND2.intValue()!=0)
Tf.setText(""+(OPERAND1.intValue()/OPERAND2.intValue()));
else Tf.setText(""); break;
}
}

}

}


Автор: Devorior 8.9.2003, 09:02
код проверил, у меня работает правильно. Качай Java Plugin с java.sun.com

Автор: dr.A'Kon 8.9.2003, 09:06
Спасибо!
Я Вам очень признателен. Ща попробую скачать.

Автор: dr.A'Kon 8.9.2003, 09:26
не могу найти плагин withstupid.gif

возможно ли одновременная установка java 1.1 и 1.4?

Автор: Devorior 8.9.2003, 09:40
лучше убей java 1.1 и поставь j2sdk1.4.1

Автор: dr.A'Kon 8.9.2003, 09:55
выходит, что пользователи, у которых не установлен плагин, не симогут загружать мой аплет?

Автор: Devorior 8.9.2003, 10:05
нет, не смогут, в этом вся фича smile.gif
но поддержка Java встроена уже почти во все браузеры

Автор: dr.A'Kon 8.9.2003, 10:16
странно, однако wow.gif

я плохо знаю английский, но из того что я прочел только что на http://java.sun.com/j2se/1.4.1/docs/guide/plugin/developer_guide/using_tags.html
понял что вроде теперь тэг applet заменен на тэг object

или я как обычно что-то напутал? withstupid.gif

Автор: DarkDS 8.9.2003, 10:19
Почему не смогут? Смогут... Если будешь применять яву 1.1 (программить можно на любой, но использовать АВТ...) smile.gif

Автор: dr.A'Kon 8.9.2003, 10:22
DarkDS, пожалуйста поясните. Это значит что все-таки можно одновременно установить версии java 1.1 и 1.4? smile.gif

Автор: DarkDS 8.9.2003, 10:24
Для теста... Твой код выложил тут... Пашет без плюгина... (у меня)
http://www.hot.ee/darkds/test.html

Автор: DarkDS 8.9.2003, 10:29
А код ХТМЛ какой был?

Автор: DarkDS 8.9.2003, 10:30
Цитата(dr @ 8.9.2003, 10:22)
DarkDS, пожалуйста поясните. Это значит что все-таки можно одновременно установить версии java 1.1 и 1.4? smile.gif

Нет... Но если писать программу на 1.4 с использованием классов АВТ и не используя классы, появившиеся в Яве2, то программа будет работать под 1.1 без проблемм...

Автор: dr.A'Kon 8.9.2003, 10:31
DarkDS, огромное спасибо!
Так что же я должен сделать чтоб и у меня это работало?
Установить плагин, использовать java 1.1?
Если последнее, то как его использовать одновременно с 1.4?

зы
черт возьми! все жа первый аплет, а у меня, у того кто его создал - не хочет работать. неблагодарное отродье biggrin.gif

Автор: dr.A'Kon 8.9.2003, 10:33
СпасибоDarkDS! Теперь понятно. а как узнать классы, появившиеся в Яве2, но котрых нет в 1.1?

Автор: DarkDS 8.9.2003, 10:36
1. Работает ли по ссылке, которую дал?
2. По поводу классов:
Использовать тока те, которые есть в этом АПИ
http://java.sun.com/products/archive/jdk/1.1/index.html

Автор: dr.A'Kon 8.9.2003, 10:39
да, по ссылке работает, спасибо еще раз!!

и за вашу ссылку - тоже спасибо, Вы мне очень помогли

Автор: dr.A'Kon 8.9.2003, 10:44
и все же..... почему же у меня не работает!!!?confused.gif
по ссылке - да. значит плагины мне не нужны. когда запускаю со своего диска просмотр html страницы - не хочет работать... Обидно, аж жуть... butbut.gif

Автор: DarkDS 8.9.2003, 10:47
1. Какой код у ХТМЛа?
У меня такой:
<html>
<body>
<applet code="AppletCalculator.class" width=250 height=250 alt="облом">
</applet>
</body>
</html>
2. Классфайл обзывается как AppletCalculator.class? (с учетом регистра)
3. Лежит ли AppletCalculator.class в том же каталоге, что и хтмл?

Автор: dr.A'Kon 8.9.2003, 10:52
да, у меня все тоже самое. я даже для верности скопировал содержимое Вашего хмл-файла в свой. Да, файлы в одном каталоге, и класс файл называется AppletCalculator.html.

Автор: dr.A'Kon 8.9.2003, 11:42
терь мой браузер выдает мне ошибку:
Thr Java Runtime Environment cannot loaded from <\bin\hotspot\jvm.dll>

Спасите!! sad.gif

Автор: Sun 8.9.2003, 12:17
Если у тебя все так плохо с твоим IE, может поставить другой броузер? Mozilla или Opera к примеру. В них с Java все в порядке.

Автор: dr.A'Kon 8.9.2003, 12:51
да, это мысль. заново установлю IE. может поможет sad.gif

Автор: DarkDS 8.9.2003, 13:58
Класс файл должен называтся AppletCalculator.class...

Автор: DarkDS 8.9.2003, 14:02
Вот то, как должно быть (java файл просто дан как исходник...)
Попробуй распакуй и запусти:
http://www.hot.ee/darkds/test.zip

Автор: dr.A'Kon 8.9.2003, 14:28
DarkDS я даже не знаю как Вас благодарить. Мне честное слово стыдно за то что я отнимаю у Вас время, да и за то что у меня не получается такая элементарная вещь. Особенно обидно что по сравнению с изучением Java с нуля (в моем случае) это просто смехотворная операция.
Спасибо Вам еще раз, но я уже говорил, что теперь мой браузеро плюется фразами "Thr Java Runtime Environment cannot loaded from <\bin\hotspot\jvm.dll>" Я ума не приложу что делать... withstupid.gif

Автор: DarkDS 8.9.2003, 16:36
Судя по сообщению проблеммы с самой явой... Попробуй переставить JRE...

Автор: dr.A'Kon 9.9.2003, 12:22
Огромное спасибо всем, кто откликнулся. Не знаю что там у меня было, но решил я все топорным методом. сначала переустановил браузер - не помогло, потом Java переустановил - не помогло, потом к чертовой бабушке отформатировал диск, и установил все заново biggrin.gif . Против лома нет приема - все заработало. Еще раз всем спасибо и удачи!! smile.gif

Автор: SmaLL 13.9.2003, 10:07
Цитата(dr @ 8.9.2003, 10:26)
не могу найти плагин withstupid.gif

возможно ли одновременная установка java 1.1 и 1.4?

ДА

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)