14

この質問は何百万回も聞かれていると確信していますが、Google 検索を何度行っても、これを機能させることはできません。私は基本的に、複数のパッケージを含むプロジェクトを Web ページに埋め込もうとしています。いくつかのボールを画面上で跳ね返らせるだけのテスト プログラムを作成し、それを実行することができました。メイン クラスを 1 つのパッケージに入れ、ボール クラスを別のパッケージに入れてテストしたところ、問題なく動作しているようです。しかし、Web ページで実際に必要なプログラム (FinalProject と呼ばれる) は、それを行うことを拒否します。

私ができる最善のことは、エラーを表示せずに白だけで、空白の画面を表示することです。クリックしようとしても何も起こらないのは、アプレットはあるのに白く表示されているだけで見えないからだと思います。私はappletタグを使用しましたが、私の理解では現在は減価償却されていますが、教師が見ることができるように、このプロジェクトを Web ページに提出する必要があります。他の人のプロジェクト (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. HTML で参照されている FinalProject.class ファイルは にあります[Eclipse Workspace]/FinalProject/bin/ main/FinalProject.class。FinalProject.class ファイルはメイン クラスとして機能するため、これを実行する必要があると確信しています。これは、init()、actionPerformed()、paint() メソッドなど、優れた機能を備えたものです。

現在、私はこれを自分のコンピューターでオフラインで実行しようとしているので、私が考えるネット URL は存在しないはずです。私は Eclipse を使用して Java コードを記述しましたが、違いがあるかどうかはわかりません。残念ながら、Java コードはかなり大きく、ここで再現するには多すぎます。何か具体的な問題があると思われる場合は、その小さなセクションを見て投稿できます。

私の友人の何人かはなんとか機能させることができましたが、.png ファイルをすべて削除する必要があると言いました (面倒ですが、私のプロジェクトでは実行可能です)。彼らはまた、すべてのマウス移動コードを削除する必要があると述べました。私のプログラムはそれに依存しているようなものです。それが機能するためには、それが必要です。MouseListener と MouseMoveListener のすべてのコードをオンラインで使用する方法が必要であることはわかっていますが、少し異なるかもしれません。それがこれと関係があるかどうかはわかりませんが、安全のために指摘することにしました。

ここで何か助けていただければ幸いです。

4

1 に答える 1

7

基本的に、あなたは次のような質問をしています:今日のブラウザ (アプレット、埋め込み、オブジェクト) 用の Java アプレットをデプロイする方法は?

それに基づいて、私はあなたが望むものだと思います:

<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です。しかし、あなたは正しいかもしれません。main.FinalProject.classいずれにせよ、この html ファイルは、またはと同じフォルダーにFinalProject.classある必要があり、どのようなクラスも必要になる可能性があります。

ここで、ブラウザが実際にアプレットを実行できることを確認する必要がある場合もあります。参照: Web ブラウザで Java を有効にするにはどうすればよいですか?


アップデート

Andrew Thompson からのフィードバックに基づいて、次のように Oracle の 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 をキャプチャしてローカルにすることもできます。一見の価値があるかもしれません。

于 2012-06-09T21:32:40.300 に答える