2012-06-09 19 views
10

この質問は何百万回も尋ねられましたが、いくつのGoogle検索を行っても、私はこの問題を解決できません。私は基本的に、複数のパッケージを含むプロジェクトをWebページに埋め込むことを試みています。私はちょうど画面の周りにいくつかのボールをバウンスさせ、その実行を得ることができたテストプログラムを作った。私はメインクラスを1つのパッケージに入れ、ボールクラスを別のクラスに入れてテストするだけで、うまく走っているようです。しかし、私が実際にWebページ(単にFinalProjectと呼ばれる)で必要とするプログラムは、それを拒否します。HTMLにJava埋め込み

私がそれをやり遂げることができる最も良いことは、私に間違いなく白い空白の画面を与えることです。何も起こらないべき場所をクリックしようとすると、アプレットがそこにあるので、私はそれを見ることができないので、白を表示していると思います。私はappletタグを使っていましたが、私の理解では償却されていますが、先生が見られるように、このプロジェクトをウェブページで行う必要があります。私たちは既に他の人のプロジェクト(appletタグを使ったプロジェクト)が動作することをテストしましたので、私は今のところそれに固執し、後ですべてのブラウザで動作させることを心配していました。それが問題になる可能性は非常に高いですが。多分、彼のブラウザでは動作しますが、ここでは動作しません。私は、Google Chrome、Mozilla Firefox、Internet Explorerで自分のプログラムを運行してみました。 [Eclipse Workspace]/FinalProject/bin/test.htmにある中で、これが書かれている

<html> 
<head> 

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

HTMLファイル:ここで

はHTMLコードです。 HTMLで参照されるFinalProject.classファイルは [Eclipse Workspace]/FinalProject/bin/ main/FinalProject.classに存在します。 FinalProject.classファイルはメインクラスとして機能するので、実行する必要があることは間違いありません。これは、init()、actionPerformed()、paint()メソッド、およびそのすべての良いものを持つものです。

現在、私は自分のコンピュータ上でオフラインで実行しようとしています。したがって、純粋なURLはないはずです。私はJavaコードを書こうとEclipseを使いました。残念ながら、Javaコードはかなり大きく、ここで再現するにはあまりにも多すぎます。特定の問題がある場合は、その小さなセクションを見たり投稿したりすることができます。

私の友人のうちのいくつかは彼らの仕事を得ることができましたが、彼らはすべての.pngファイルを削除しなければならないと言っていました。彼らはまた、すべてのマウス移動コードを削除しなければならないと述べた。私のプログラムはそれに依存していますが、私はそれが全く機能するために必要です。私はすべてのMouseListenerとMouseMoveListenerコードをオンラインで使用する方法がなければならないことを知っています。それには何か関係があるのか​​分からないが、私はただ安全であると指摘していた。

ここにお手伝いいただければ幸いです。

+0

私はあなたがJavaコード内のパッケージmainにあるFinalProjectクラスを宣言したと仮定しますか?デフォルトのパッケージに移動して、パスが問題であるかどうかを確認できます。 – Pyranja

+0

FinalProjectはメインクラスにあります。私は物理的にその場所に移動しなかった、私はEclipseで新しいクラスを作成し、bin/main /の下に置く、私は正しい場所を前提としている。それをデフォルトのパッケージに移動し、私が元々持っていたHTMLコードとartlungを新しい場所に変更することは、何の影響もないようです。 – Doug

+2

Oh whoops、私はFinalProjectがメインクラスだと言った。それは本当に意味をなさない。私はFinalProjectがMainクラスであり、メインパッケージにも入っていることを意味しています。それは2つの文章を意図していましたが、どういうわけか私はそれらを組み合わせました。 – Doug

答えて

6

基本的にあなたが何か求めている:

<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のファイル名を持っている:それに基づいてHow to deploy a java applet for today's browsers (applet, embed, object)?

を、私は何がしたいことはあると思います。 FinalProject.classのように思えます。しかし、あなたのことは正しいかもしれません。いずれの場合でも、このhtmlファイルはmain.FinalProject.classまたはFinalProject.classと同じフォルダにある必要があります。

ブラウザで実際にアプレットを実行できるようにする必要があります。参照:How do I enable Java in my web browser?


を更新することはアンドリュー・トンプソンからのフィードバックに基づいて

、好ましい解決策は、このように、オラクルからJavaScriptを使用することです:

<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はちょっと変わったけど、別のプラグインが必要だと言った(テストされた他のプロジェクトもありましたが、まだうまく動作していますが)。私はFirefox用の最新バージョンをダウンロードしてインストールしましたが、まだ別のプラグインが必要だと言います。そこから何をすべきか分かりません。注:「このブラウザはJavaアプレットをサポートしていないようです」というブラウザは表示されませんでした。メッセージ。 – Doug

+0

私のChromeとSafariはMacOSX上で動作するこの回答のコードを持っています。 Firefoxは最初は失敗しましたが、埋め込みタグのタイプが更新されました。また、http://java.com/ja/download/help/enable_browser.xml – artlung

+0

を参照してください。有効になっていると言います。他のJavaアプレットとオンラインで問題が発生したことはありません。確かに、私は1つを使用するのは非常にまれですが、それでも常に正常に動作します。すべてのブラウザは「あなたは本当にこれを実行してもよろしいですか?それはあなたのコンピュータを爆発させるかもしれません!私はそれをロードしようとするたびに、私はそれが無効ではないことを知っている。 – Doug

関連する問題