// HelloWorldComponent.java import org.reactfx.EventStream; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class HelloWorldComponent extends Application { @Override public void start(Stage primaryStage) { BorderPane root = new BorderPane(); HelloReactComponent helloComponent = new HelloReactComponent(); root.setCenter(helloComponent.node()); Scene scene = new Scene(root, 400, 300); primaryStage.setScene(scene); primaryStage.setTitle("Hello React"); primaryStage.show(); } public static void main(String[] args) { launch(args); } } // HelloReactComponent.java import javafx.scene.Node; import javafx.scene.control.Label; import org.reactfx.EventStream; public class HelloReactComponent { public Node node() { Label label = new Label(); label.textProperty().bind(EventStream.valuesOf(model()).map(Object::toString)); return label; } private Object model() { return "Hello, React!"; } } // UserListComponent.java import org.json.JSONArray; import org.json.JSONObject; import javafx.scene.Node; import javafx.scene.control.ListView; import javafx.scene.control.ListCell; import javafx.util.Callback; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; public class UserListComponent { public Node node() { ListView<User> listView = new ListView<>(); listView.setCellFactory(new Callback<ListView<User>, ListCell<User>>() { @Override public ListCell<User> call(ListView<User> param) { return new ListCell<User>() { @Override protected void updateItem(User item, boolean empty) { super.updateItem(item, empty); if (item != null) { setText(item.getName()); } else { setText(null); } } }; } }); String url = "https://api.example.com/users"; ResponseEntity<String> response = new RestTemplate().exchange(url, HttpMethod.GET, null, String.class); String json = response.getBody(); JSONArray userArray = new JSONArray(json); for (int i = 0; i < userArray.length(); i++) { JSONObject userObject = userArray.getJSONObject(i); String name = userObject.getString("name"); int age = userObject.getInt("age"); listView.getItems().add(new User(name, age)); } return listView; } private class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } }


上一篇:
下一篇:
切换中文