{"id":15056166,"url":"https://github.com/shadskii/fxcellent","last_synced_at":"2026-03-17T18:01:27.170Z","repository":{"id":80964152,"uuid":"109085772","full_name":"shadskii/fxcellent","owner":"shadskii","description":"Provides support for JavaFX integration with various technologies","archived":false,"fork":false,"pushed_at":"2017-11-06T03:08:05.000Z","size":80,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-18T11:53:21.639Z","etag":null,"topics":["javafx","javafx-frameworks","javafx-library","reactor-core","spring-boot","springframework"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shadskii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-01T04:10:17.000Z","updated_at":"2024-01-04T15:49:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"d950befe-1166-4184-9970-a1067fec26ec","html_url":"https://github.com/shadskii/fxcellent","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shadskii/fxcellent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadskii%2Ffxcellent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadskii%2Ffxcellent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadskii%2Ffxcellent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadskii%2Ffxcellent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shadskii","download_url":"https://codeload.github.com/shadskii/fxcellent/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadskii%2Ffxcellent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30628405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javafx","javafx-frameworks","javafx-library","reactor-core","spring-boot","springframework"],"created_at":"2024-09-24T21:48:34.072Z","updated_at":"2026-03-17T18:01:27.124Z","avatar_url":"https://github.com/shadskii.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# (fx)cellent\n(fx)cellent is a JavaFX integration library. The purpose of this is to provide support for integrating JavaFX with other frameworks. The following libraries are supported currently:\n* [Project Reactor](http://projectreactor.io/)\n* [Spring Framework](https://projects.spring.io/spring-framework/)\n\n### Spring Integration \nfxcellent-spring allows for better integration of the Spring Framework and JavaFX. By leveraging the dependency injection power of spring we are able to reduce coupling between .fxml files and their controllers. This allows for greater flexibility in moving code around and reduces the overall size of controllers.\n\nJavaFX components are loaded as spring beans during application initialization.\n```java\npublic class ExampleApplication extends Application\n{\n    private static ClassPathResource FXML = new ClassPathResource(\"MainScreen.fxml\");\n\n    public static void main(String[] args)\n    {\n        launch(args);\n    }\n\n    private Scene mainScene;\n    private ConfigurableApplicationContext ctx;\n\n    @Override\n    public void init() throws Exception\n    {\n        FXMLLoader loader = new FXMLLoader(FXML.getURL());\n        mainScene = new Scene(loader.load());\n        SpringApplication application = new SpringApplication(ExampleApplicationConfig.class);\n        application.addInitializers(SpringFXLoader.loadFX(mainScene));\n        ctx = application.run();\n    }\n\n    @Override\n    public void start(Stage primaryStage) throws Exception\n    {\n        primaryStage.setTitle(\"Example application\");\n        primaryStage.setScene(mainScene);\n        primaryStage.show();\n    }\n}\n```\n\nControllers now can inject JavaFX components via `@Autowired`\n```java\n    @Autowired \n    private Button button1;\n\n    @Autowired\n    private Label middleText;\n```\n\n`intialize` is now replaced with a `@PostConstruct`\n```java\n  @FXML\n  public void intialize(){}\n  \n  // Is replaced with\n  @PostConstruct\n  void intialize(){}\n```\n\n### Reactor Integration\n(fx)cellent-reactor provides an easy to use and fluent API for leveraging reactor for JavaFX event handling.\n\n```java\nprivate Button btn;\n\nFxFluxFrom.nodeActionEvent(btn)\n          .publishOn(anotherScheduler)\n          .map(ActionEvent::getSource)\n          .subscribe(System.out::println);\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadskii%2Ffxcellent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshadskii%2Ffxcellent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadskii%2Ffxcellent/lists"}