写一个java swing调用js的demo
时间: 2024-06-10 16:06:21 浏览: 167
当然,我可以帮你解决这个问题。你可以使用JavaFX内置的Web引擎来加载网页并执行JavaScript代码。以下是一个简单的示例代码,可以加载一个包含JavaScript代码的网页并执行其中的函数:
```
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();
webEngine.load("https://www.example.com/myscript.html");
// Wait for the web page to finish loading
webEngine.getLoadWorker().stateProperty().addListener((obs, oldState, newState) -> {
if (newState == Worker.State.SUCCEEDED) {
JSObject window = (JSObject) webEngine.executeScript("window");
// Call the JavaScript function named "myFunction" with the argument "Hello, world!"
window.call("myFunction", "Hello, world!");
}
});
Scene scene = new Scene(webView, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
在这个示例中,我们创建了一个WebView并加载了一个包含JavaScript代码的网页。当网页加载完成后,我们使用WebEngine的executeScript()方法来执行JavaScript代码。在这个例子中,我们调用了一个名为“myFunction”的函数,并向其传递了一个字符串参数“Hello, world!”。
希望这可以帮助你实现你的目标。
阅读全文