• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JSPでボタンを押したらマウスの位置が変わるようなプログラムを作成して)

JSPでボタンを押したらマウスの位置が変わるようなプログラムを作成する方法

このQ&Aのポイント
  • JSPでボタンを押したときにマウスの位置を変更するプログラムを作成していますが、関数が動作しない問題が発生しています。
  • 関数にはalertは機能するため、関数には正常にアクセスできていると考えられます。
  • 関数にアクセスするにはどのような方法を取れば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.3

念のため。先ほどの回答の <jsp:plugin   type="アプレット" の部分は <jsp:plugin   type="applet" の間違いです。すみません。 自分の環境では、jspとclassファイルを配置すれば動作確認できました。 ブラウザによって違いがあるかもしれません。IE8では動きましたがchromeではダメでした。 また、classファイルの置き場所が悪いのかもしれません。 コンテキストルートの直下に置くか、<jsp:plugin>タグのcodebaseを適宜修正してください。 なかなか上手く説明できずに申し訳ありません。

ahe0041
質問者

補足

私もIE8ですね・・・。 javaをcjavaでコンパイルして、classファイルを生成。 後はjspを同じファイルの中において実行…。 何かおかしいですかね?

その他の回答 (2)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

すみません。JavaScriptだけでは出来ないようですね。 アプレットと連携させれば実現できそうです。 アプレットは今まで一度も触ったことがないので おかしいところが多々あると思いますので、参考程度に見てください。 <pre> [jsp] <jsp:plugin   type="アプレット"   code="TestApp.class"   codebase="."   name="ap"   height="0" width="0" >   <jsp:fallback>     <p> 読み込み失敗 </p>   </jsp:fallback> </jsp:plugin> <form>   <input type="button" value="マウス移動" onClick="ap.mouseMove(100, 100);"> </form> [TestApp.java] import java.applet.Applet; import java.awt.*; public class TestApp extends Applet {   //とりあえず必要な処理のみ   public void mouseMove(int x, int y) {     try {       System.out.println("start");       Robot robot = new Robot();       robot.mouseMove(x, y);     } catch (Exception e) {       e.printStackTrace();     }     } } ただ、アプレット内でRobotオブジェクトを生成できるようにするのは セキュリティに問題があるようなので、十分に注意してください。 ※ソースはインデント用に全角スペースを入れてあるので、実行時は適当に置き換えてください

ahe0041
質問者

補足

回答ありがとうございます。 ソースをコピペしてためしましたが、エラーも出ず、動かず状態でした。 アプレットは私もよくわからないので、少し勉強してみたいと思います。 この場合サーバーにあげるのは、jspファイルと、classファイルだけなのでしょうか? 一応javaファイルなども全部あげましたが分からなかったです・・。

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

関数は機能しています。 JavaとJavaScriptがきちんと区別できていないのでは? Java(スクリプトレット)はサーバーで実行され、JavaScriptはクライアント(ブラウザ)で実行されます。 ですので実際に動作する関数の処理は、htmlとして出力されたソースの内容になります。(外部ファイルだったりもしますが) 該当のページのソースをブラウザで見てみてください。function a にはalert文しか出力されていないですよね? ということで、JavaScriptで希望する処理のソースを書いてください。

ahe0041
質問者

補足

つまりmouseMoveではマウスは動かない、ということでしょうか? javascript でもマウス座標指定関数を探しましたが、いまいち見つかりませんでした。 この場合どのようにすればマウスは動くのでしょうか?

関連するQ&A