javafx get请求
时间: 2023-08-24 15:09:24 浏览: 89
java 实现get,post请求
在JavaFX中,你可以使用`javafx.scene.web.WebEngine`类来发送GET请求。下面是一个简单的示例代码:
```java
import javafx.application.Application;
import javafx.concurrent.Worker;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class GetRequestExample extends Application {
@Override
public void start(Stage primaryStage) {
WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();
// 监听页面加载完成事件
webEngine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> {
if (newValue == Worker.State.SUCCEEDED) {
// 页面加载完成后执行GET请求
String response = (String) webEngine.executeScript("fetch('https://api.example.com/data')")
.toString();
System.out.println(response);
}
});
StackPane root = new StackPane(webView);
Scene scene = new Scene(root, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
// 加载页面
webEngine.load("https://www.example.com");
}
public static void main(String[] args) {
launch(args);
}
}
```
在这个例子中,我们创建了一个`WebView`和一个关联的`WebEngine`。我们监听`WebEngine`的`LoadWorker`的状态变化,当页面加载完成后,我们执行了一个GET请求并将响应内容打印出来。
请注意,这只是一个简单的示例,实际上在JavaFX中进行HTTP请求可能会更复杂,因为JavaFX主要用于构建用户界面而不是网络请求。如果你需要更多的HTTP请求功能,建议使用专门的HTTP库,如Apache HttpClient或OkHttp。
阅读全文