• 締切済み

アプレットからHTMLのパラメータ獲得について

長文になりますが、すみません。 アプレットからHTMLのパラメータ獲得についてですが、 通常はAppletクラスの[getParameter(String)]メソッド を使用しますよね。 この時、例えば、HTML側で同一種類の情報としてアプレットに対して渡したい場合、 <param name="Color1" value="black"> <param name="Color2" value="white"> <param name="Color3" value="blue"> <param name="Color4" value="red"> として (Colorの次に来る数字は、1始まり固定で+1ずつ増え最後の数字はHTML表示する毎に変わります。)、 アプレット側はこの"Color"情報を配列で管理したい場合、この情報を格納する配列変数の初期化をするのに簡単に知る方法はないでしょうか? 私が思いつくのは 一回配列変数の要素数を確定するために ------------------------------------------------ String[] color; int counter; for(int i = 1; i < Applet.getParameter("Color"+ i) != null; i++) { counter++; } color = new String[counter]; ------------------------------------------------ とループして要素数を確定した後にもう一度Stringオブジェクトに値を代入するために ------------------------------------------------ for(int i = 0; i < counter; i++) { color[i] = Applet.getParameter("Color"+ i); } ------------------------------------------------ と二重にループするしか方法はないのでしょうか? 数を知る方法だけでなくとも、 他にスマートに情報を獲得する方法はないでしょうか?

  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

  • aton
  • ベストアンサー率47% (160/334)
回答No.1

 どうしても配列でなければ困る/いやだというのでなければ,java.util.Vectorクラスを使うのがいいんじゃないでしょうか? Vector vec = new Vector(); String str; while ((str = Applet.getParameter("Color"+ i)) != null) { vec.add(str); }  取りだすときはちょっとだけ面倒くさくなりますが。

kanou_brothers
質問者

補足

atonさん。早速のアドバイス有難うございます。 ご指摘どおりVectorにadd()で情報を追加して、 toArray()を使用し、オブジェクトの配列として処理しようかと思ったのですが・・・。 Vector.toArray()メソッドはJDK1.2以降にサポートされた メソッドのようで、IEとMSVMのコンビでは[no such Method]と起こられてしまいました。 なるほど、誰でも使えるアプレットとして作るには取り出す時に面倒くさいですね。 atonさんの言われる通り「どうしても配列」として処理をしたいのです。Vectorに格納してもtoArray()が使えなければもう一度forループをしてVector.get(int)する必要が出てきてまた二重ループになってしまいます。 何か良い方法は無い物でしょうか?

関連するQ&A

  • 波紋JAVAアプレットについて

    どうもです。 とあるオープンソースの波紋系JAVAアプレットをホームページビルダー6.0でHTMLに記述していると、 ホームページビルダー上でのプレビューでは、正常に動作しているのですが、 編集中のそのファイルを保存すると、どういうわけか、 アプレットの記述文字が変わってしまいます。 具体的には以下に挙げるとおりです。 -------------------------- <applet code="DropWater.class" width="任意の数値" height="任意の数値"> <param name="img" value="任意の画像"> <param name="start" value="rrggbb"> <param name="end" value="rrggbb"> </applet> ↑ これならば、正常に動作するのですが、 なぜか、保存すると、 <applet code="/DropWater.class" ↑ DropWaterの「D」の記述の前になぜか/が入力されてしまうのです。 なぜなのでしょう? 当然こうなる事で、ネットに転送したHP上ではJAVAアプレットは機能していません。 何とか、この→「/」を付け加えずに、保存する方法はないのでしょうか? どうやら保存するときに、スペルに補正がかかるような気がするのですが、(すべて大文字なら頭文字だけ大文字に補正される) それのせいなのでしょうか? いずれにせよ、 何が原因なのか、まったくわかりません。 本来ならば、私のHPソースをすべて公開した方がわかりやすいのでしょうが、 それはあまり気が進まないので、 これでお願いできないでしょうか? わかる方がいましたら、ご教授お願いいたします。

  • javaプログラムの作り方

    class HTMLparam extends IO_Data_D { String s; int max_lean; Applet a; HTMLparam(int _max_lean, String _s, Applet _a) { max_lean = _max_lean; s = _s ; a = _a;} //-------------------------------------- Object getParam() { String param; char separated[][]; for(int i=0; i<max_lean; i++) { param = a.getParameter( s + (i+1) ); for(int j=0; j<max_lean; j++) { if(param != null ){ separated[][] = new char [max_lean][ param.length() ]; ???????????????????????????; } } return ; } } すごい初歩的な質問で申し訳ありません。いまいちキャストの仕方がよくわかっていません。質問というのは、param = a.getParameter( s + (i+1) );でparamに文字列が入ります。max_leanの行数文の文字列を文字配列にして文字を管理し、オブジェクトでリターンしたいのですが、どのように作っていいのかわかりません。教えていただけないでしょうか?

  • JavascriptでAppletを制御したい

    現在WEBアプリケーションを作成中ですが、 APPLETのPARAMETERの値を、 HTMLに記述した、JAVASCRIPTから書き換えられないか思案中です。 例 <APPLET> <Param name="AAA" value="2" > </APPLET> <INPUT TYPE="TEXT" NAME="BBB" VALUE="999"> <INPUT TYPE="BUTTON" NAME="RELOAD" VALUE="RELOAD"> のPARAMの値を変更したいのです。 このAAAのVALUE値を、BBBの値で変更して、RELOADボタンを押すと、 APPLETがPARAMを読み直して、再実行(RUNメソッド起動)するようにしたい。 APPLET側では現状ではINITメソッドでgetParameterを発行しています。 たぶんこれはRUNメソッドに移動しないといけないと思います。 よろしくお願いします。

    • ベストアンサー
    • Java
  • クラスファイルの作成方法

    超初心者 javaアプレット作成の練習中です クラスファイル(Jcam.classとJcamString.class)をHTMLファイルと同じ場所(デレクトリ)に置きました  <applet code="Jcam.class" width=300 height=150> <param name="image" value="s0.jpg"> <param name="title" value="WELCOME"> <param name="fixed" value="Summer|Sunset beach"> <param name="scroll" value="Cool wind|Twilight"> <param name="expand" value="150"> <param name="font" value="Courier|p|16"> <param name="titleFont" value="TimesRoman|bi|48"> </applet> 上記クラスファイルの作成が間違いでわかりません 中学生程度でわかりやすく教えてください。

    • ベストアンサー
    • Java
  • Java APPLET

    教えてください、お願いします。 ここにソースを入れます。なので長文になりますが申し訳ありません。 “水面のようにjpg画像が揺れる”アプレットです。 ダウンロード先は http://www.durius.com/ ここです。 ダウンロードし、家でいくつか試しましたがどのサンプルも見られますので、写っても良いはずなのですが… ★ではアプレットソースだけはじめに入れます。 <APPLET archive="DuriusWaterPic.jar" WIDTH="400" HEIGHT="300" ALIGN="middle" CODE="DuriusWaterPic.class"> <PARAM NAME="cabbase" VALUE="DuriusWaterPic.cab"> <PARAM NAME="image" VALUE="http://kkpen.web.fc2.com/flower-preview.jpg"> <PARAM NAME="dim" VALUE="5"> <PARAM NAME="noise" VALUE="0"> <PARAM NAME="mouse" VALUE="7"> <PARAM NAME="timer" VALUE="0"> <PARAM NAME="target" VALUE="_blank"> <PARAM NAME="orientation" VALUE="v"> <PARAM NAME="bg" VALUE="233423"> <PARAM NAME="http://java.sun.com/products/javawebstart/apps/remoteApps.html./" VALUE="http://www.durius.com/ http://altavista.digital.com/ http://www.javaboutique.com/ http://www.davesclassics.com/"> <PARAM NAME="reg" VALUE="22454732"> </APPLET>

  • java-prugin1.3、Netscape communicatorでアプレットが呼び出せない。

    私は現在JAVAアプレットを作成しそのクラスファイルをjarにして そのjarファイルの中からクラスファイルをロードするhtmlを書きたいので、 アプレットを貼り付ける個所に以下のようにタグを書いたのですがJAVAコンソール上でクラスが見つかりません。といわれて失敗してしまいます。 (netscapeのみ失敗します。IEは成功してアプレットを実行できます。) 何か他に必ず指定しなければいけない属性があるのでしょうか? javadocも見て確認したのですが。。。 どなたか教えていただけないでしょうか? ちなみにjarファイルもhtmlファイルも全て同階層のディレクトリにおいてあります。 ----------ソースここから-------------- <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="200" height="200" codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,1,3"> <PARAM NAME="code" VALUE="ReportSample.class"> <PARAM NAME="archive" VALUE="Sample.jar"> <PARAM NAME="codebase" VALUE="."> <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3"> <PARAM NAME="mylabel" VALUE="MyLabel"> <COMMENT> <EMBED type="application/x-java-applet;version=1.3" width="200" height="200" align="baseline" java_archive="Sample.jar" java_codeBase="./" java_code="ReportSample.class"  pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"> <NOEMBED> </COMMENT> Java Plug-inの実行に失敗しました </NOEMBED> </EMBED> </OBJECT> --------------------------------------

    • ベストアンサー
    • HTML
  • このタグの意味を教えてください

    <APPLET codeBase=/java/ height=240 width=320 code=JavaCam.class><PARAM NAME="prev_string" VALUE="atcamone"><PARAM NAME="startnumber" VALUE="1"> <PARAM NAME="endnumber" VALUE="10000"><PARAM NAME="loopdelay" VALUE="0"><PARAM NAME="number" VALUE="1"> <PARAM NAME="cust" VALUE="ted"><PARAM NAME="extension" VALUE="jpg"><PARAM NAME="interval" VALUE="1"> <PARAM NAME="url" VALUE="http://***.jpg"> <PARAM NAME="imagesource" VALUE="./images/"> <IMG SRC="http://*****.jpg" ALT="Pic"></APPLET> ある動画があってそこのソースを見たのですが ちんぷんかんぷんでした。TT できたらこのタグを詳しく教えていただけないでしょうか?またこの動画の保存方法なども教えていただけたら幸いです

    • ベストアンサー
    • HTML
  • 教えてください。

    おはようございます。 ここに全部のソースを入れたいのですが、ものすごく長文になってしまいますのでアプレットソースだけ入れます。 <APPLET archive="DuriusWaterPic.jar" WIDTH="400" HEIGHT="300" ALIGN="middle" CODE="DuriusWaterPic.class"> <PARAM NAME="cabbase" VALUE="DuriusWaterPic.cab"> <PARAM NAME="image" VALUE="http://kkpen.web.fc2.com/flower-preview.jpg"> <PARAM NAME="dim" VALUE="5"> <PARAM NAME="noise" VALUE="0"> <PARAM NAME="mouse" VALUE="7"> <PARAM NAME="timer" VALUE="0"> <PARAM NAME="target" VALUE="_blank"> <PARAM NAME="orientation" VALUE="v"> <PARAM NAME="bg" VALUE="233423"> <PARAM NAME="http://java.sun.com/products/javawebstart/apps/remoteApps.html./" VALUE="http://www.durius.com/ http://altavista.digital.com/ http://www.javaboutique.com/ http://www.davesclassics.com/"> <PARAM NAME="reg" VALUE="22454732"> </APPLET> 私のホームページのindexに使用したいのですが、javaScriptも入っています。あとは、auto.jifと言うのでしょうか?CGIと言うのでしょうか?ちょっと解りませんが、自動で三目並べを延々続けている画像も入っています。全部表示されます。 javaAppletだけが、色はグレーのまま、左上に【赤く“x”の文字】が表示されたままで、お花の画像が出てきません… このアプレットは“水面のようにjpg画像が揺れる”アプレットです。 ダウンロード先は ​http://www.durius.com/​; ここです。 ダウンロードし、家でいくつか試しましたがどのサンプルも見られますので、写っても良いはずなのですが… 長文失礼いたしましたが、何分にもjavaAPPLETは初挑戦なもので… よろしくお願いいたします。

  • JAVAのチェックボックスの扱いについて

    HTMLから選択された情報をJSPで表示するプログラムを作っているのですがチェックボックスが選択されてるかどうかのプログラムの書き方がわかりません。 とりあえず出来ているところまでのソースを見せます。 ・HTML <input type="checkbox" name="aa" value="aa"> <input type="checkbox" name="aa" value="bb"> <input type="checkbox" name="aa" value="cc"> <input type="checkbox" name="aa" value="dd"> <select name="abc"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> ・JSP //情報をもらう String abc = request.getParameter("abc"); String[] aa = request.getParameterValues("aa"); for(int i=0;i<aa.length;i++){ aa[i]; } 上のようにチェックボックスは情報を取り出しているんですが 選択されていないときはエラーになってしまいます。 for文の前に値が入っているかどうかのチェックをしなくてはいけないのですがどのように書いていいかわかりません。 誰か教えてください。

    • ベストアンサー
    • Java
  • アプレットについて

    appletviewerで実行したところ アプレットの枠しか出てきません。中身が現れないのです。どうしたらよろしいでしょうか? import java.applet.Applet; import java.awt.*; /* <APPLET CODE="JFont2.class"WIDTH=500 HEIGHT=100> </APPLET> */ public class JFont2 extends Applet{  public void pait(Graphics g){   String ss="Djia@go",s1;   int baseline1=60,baseline2;   int x1=30,y1;    Font ft=new Font("Serif",Font.PLAIN,48);  g.setFont(ft);  g.drawString(ss,x1,baseline1);     FontMetrics fm=getFontMetrics(ft);   //アクセント上部に線を引く         y1=baseline1-fm.getAscent();     g.drawLine(10,y1,220,y1); } }

    • ベストアンサー
    • Java