2

一个例子:

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

我不想提醒这个文本框值,而是想在我的小程序程序中进一步使用这个值作为字符串变量。我怎样才能做到这一点?

4

2 回答 2

1

不同方法的多种想法。这里有一些:


将输入字段放在 Applet 中。<input>您可以通过在 Applet 中添加 AWT 组件(或者,JApplet使用更新的 Swing 工具包)来获取 Applet 的输入,而不是向 HTML 页面添加-tag。虽然应该首选 Swing。

当然,如果您不能更改小程序代码,这不是一个选项。


使用<param>- 标记。您可以通过使用<param>-tag 中的-tag 为您的小程序提供一些初始值(例如参数),如tag-doc<applet>中的此示例所示:

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

但是,正如我所说,这些是初始值。如果您在 applet 已经运行时更改它们,它们不会在 Applet 本身中更改。

因此,如果您的<input>-tag 中的值是初始值,您可以使用它(并value使用 JS 操作 -attribute)。如果您想在小程序运行时更改这些值,这仅在您重新启动小程序时才有效(这可能不是最好的主意)。


使用“Java 到 Javascript 通信”。有一个文件介绍了JSObject-class。可以在这里找到。还有“通用 DOM API”,可用于访问 HTML 页面的 DOM 结构。这听起来像你正在寻找的东西,但它似乎有点过时了。

另外,这似乎不是标准(就像<applet>-tag 一样),因此,某些浏览器可能没有或没有完全实现对它的支持。你必须尝试一下。

于 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 回答