2

例:

getAppletContext().showDocument(
  new URL("javascript:alert(document.getElementById('textbox').value);"
));

このテキスト ボックスの値を警告する代わりに、この値をアプレット プログラムの文字列変数としてさらに使用したいと考えています。どうすればこれを達成できますか?

4

2 に答える 2

1

さまざまなアプローチに対する複数のアイデア。ここにあるいくつかの:


入力フィールドをアプレットに入れます。<input>HTML ページに -tag を追加する代わりに、 AWT コンポーネントを追加することによって (または、JApplet新しい Swing ツールキットを使用する場合)、アプレットで入力を取得できます。Swingを優先する必要がありますが。

もちろん、アプレット コードを変更できない場合、これはオプションではありません。


-タグを使用し<param>ます。tag-docの次の例に示すよう<param>に、 -tag で -tagを使用して、アプレットにいくつかの初期値 (パラメータなど) を与えることができます。<applet>

<applet code="A21" width="256" height="256" archive="toir.jar">
  <param name="img" value="test.gif">
</applet>

ただし、前述のとおり、これらは初期値です。アプレットが既に実行されている間にそれらを変更しても、アプレット自体では変更されません。

したがって、<input>-tag の値が初期値の場合は、これを使用できます (そしてvalue、JS で -attribute を操作します)。アプレットの実行中に値を変更したい場合、これはアプレットを再起動する場合にのみ機能します (これは最善の方法ではない可能性があります)。


「Java-to-Javascript 通信」を使用します。JSObject-classを紹介しているドキュメントがあります。ここで見つけることができます。HTML ページの DOM 構造にアクセスするために使用できる「共通 DOM API」もあります。あなたが探しているもののように聞こえますが、少し古くなっているようです。

また、これは (-tag と同様に) 標準ではないように思われる<applet>ため、一部のブラウザーはそのサポートを実装していないか、完全に実装していない可能性があります。試してみる必要があります。

于 2012-07-03T13:50:08.857 に答える
0
// provide a JS function to return the value of textbox
// call it to get the value..
String userInput = JOptionPane.showInputDialog(this, value, ..
于 2012-07-03T14:05:00.400 に答える