2012-06-09 4 views
10

Я уверен, что этот вопрос задан в миллион раз, но независимо от того, сколько поисковых запросов Google я не могу получить, это работает. Я в основном пытаюсь получить проект с несколькими пакетами в нем, которые будут встроены в веб-страницу. Я сделал тестовую программу, которая просто сделала несколько шаров подпрыгивая вокруг экрана и смогла добиться этого. Я помещаю основной класс в один пакет и класс шара в другой, чтобы проверить его, и, похоже, он работает нормально. Но программа, которая мне действительно нужна на веб-странице (просто называемой FinalProject), отказывается это делать.Встраивание Java в HTML

Лучшее, что я могу сделать, это дать мне пустой экран, не давая ошибки, а просто белую. Если я попытаюсь щелкнуть, где не должно произойти ничего, я думаю, потому что апплет там, но просто показывает белый цвет, поэтому я не вижу его. Я использовал тег applet, который из моего понимания теперь обесценивается, но мне нужно включить этот проект на веб-странице, чтобы учитель мог его увидеть. Мы уже тестировали, что проекты других людей (которые использовали тег applet) работают, поэтому я пытался придерживаться этого и теперь беспокоюсь о том, чтобы он работал в каждом браузере. Хотя это вполне может быть проблемой. Возможно, это будет работать на его браузере, но не на моем. Я пробовал запустить свою программу в Google Chrome, Mozilla Firefox и Internet Explorer без везения.

Вот HTML код:

<html> 
<head> 

</head> 
<body> 
    <applet code = "main.FinalProject.class" width = "700px" height = "500px"></applet> 
</body> 
</html> 

HTML-файл это написано в [Eclipse Workspace]/FinalProject/bin/test.htm. Файл FinalProject.class, указанный в HTML, существует в [Eclipse Workspace]/FinalProject/bin/ main/FinalProject.class. Файл FinalProject.class выступает в качестве основного класса, поэтому я уверен, что это тот, который мне нужно запустить. Это тот, у кого есть методы init(), actionPerformed(), paint() и все эти хорошие вещи.

В настоящее время я пытаюсь запустить этот автономный режим на своем компьютере, поэтому не должно быть никакого сетевого URL, который я бы подумал. Я использовал Eclipse для написания кода Java, не знаю, если это имеет значение. К сожалению, Java-код довольно большой, слишком много для воспроизведения здесь, если есть что-то конкретное, о чем вы думаете, это проблема, которую я могу посмотреть и разместить этот небольшой раздел.

Некоторым из моих друзей удалось заставить их работать, однако они сказали, что им нужно удалить все их .png-файлы (раздражающие, но выполнимые для моего проекта). Они также сказали, что должны удалить все коды движения мыши. Моя программа зависит от этого, мне нужно, чтобы он работал вообще. Я знаю, что ДОЛЖЕН быть способ использовать все коды MouseListener и MouseMoveListener онлайн, может быть, это немного отличается. Я не знаю, если это имеет какое-то отношение к этому, но я подумал, что я хотел бы указать на это, чтобы быть в безопасности.

Любая помощь здесь будет принята с благодарностью.

+0

Я предполагаю, что вы объявили класс FinalProject частью пакета внутри java-кода? Вы можете попытаться переместить его в пакет по умолчанию, чтобы проверить, является ли путь проблемой. – Pyranja

+0

FinalProject находится в основном классе. Я физически не переместил его в это место, я создал новый класс в Eclipse и поместил его в bin/main /, который, я полагаю, является правильным местом. Перемещение его в пакет по умолчанию и изменение кода HTML, который я изначально, а также artlung в новое место, похоже, не влияют. – Doug

+2

О, крик, я сказал, что FinalProject находится в главном КЛАССЕ. Это не имеет смысла. Я имел в виду FinalProject IS основной класс, а также в основном пакете. Это было предназначено, чтобы быть 2 предложениями, как-то я их совмещал. – Doug

ответ

6

В основном вы просите что-то вроде: How to deploy a java applet for today's browsers (applet, embed, object)?

Исходя из этого, я думаю, что вы хотите:

<object 
    classid="clsid:CAFEEFAC-0015-0000-0000-ABCDEFFEDCBA" 
    style="height: 500px; width: 700px;"> 
    <param name="code" value="FinalProject.class"> 
    <comment> 
     <embed code="FinalProject.class" 
     type="application/x-java-applet" 
     height="500" width="700"> 
     <noembed> 
      This browser appears to lack support for Java Applets. 
     </noembed> 
     </embed> 
    </comment> 
    </object> 

Теперь у вас есть имя файла main.FinalProject.class в вашем коде. Похоже, что FinalProject.class будет более вероятным. Но твой может быть прав. В любом случае этот html-файл должен находиться в той же папке, что и main.FinalProject.class или FinalProject.class, и любые классы также могут потребоваться.

Теперь вам также может потребоваться убедиться, что ваши браузеры могут запустить апплет.См: How do I enable Java in my web browser?


Update

На основе обратной связи от Эндрю Томпсон, предпочтительным решением является использование JavaScript из Oracle, например:

<script src="http://www.java.com/js/deployJava.js"></script> 
<script> 
    var attributes = { 
     code:'FinalProject.class', 
    width:700, height:500} ; 
    var parameters = {}; // does the Applet take parameters? 
    var version = '1.6' ; // does the Applet require a minimum version of Java 
    deployJava.runApplet(attributes, parameters, version); 
</script> 

Это требует возможность загрузки произвольный JavaScript, но вы также можете захватить этот файл deployJava.js и быть локальным. Возможно, стоит посмотреть.

+1

Спасибо за быстрый ответ. Однако Chrome и IE не показывают никаких изменений, это все еще просто пустой экран для обоих. Firefox был немного странным, он сказал, что мне нужен другой плагин (хотя другие проверенные проекты выполнялись и все еще работают нормально), и когда я сказал, чтобы проверить, что он ничего не нашел. Я Googled для последней версии для Firefox, загрузил и установил его, но он все еще говорит, что мне нужен еще один плагин. Не знаю, что делать дальше. Примечание. Ни один из браузеров не отобразил «В этом браузере отсутствует поддержка Java-апплетов». сообщение. – Doug

+0

У моего Chrome и Safari есть код в этом ответе на MacOSX. Firefox изначально не удалось, но я обновил тип в теге embed и теперь он работает. Вы также можете посмотреть: http://java.com/en/download/help/enable_browser.xml – artlung

+0

В нем говорится, что он включен, и у меня никогда не было проблем с любыми другими апплетами Java в Интернете. По общему признанию, довольно редко я использую один, но все равно он всегда работал нормально. Все браузеры продолжают появляться с надписью «Вы действительно уверены, что хотите запустить это? Это может взорвать ваш компьютер!» когда я пытаюсь загрузить его, поэтому я знаю, что он не отключен. – Doug

Смежные вопросы