{"id":16560804,"url":"https://github.com/bjagg/clojure-minimal-javafx","last_synced_at":"2026-05-19T05:38:59.518Z","repository":{"id":82301222,"uuid":"120803984","full_name":"bjagg/clojure-minimal-javafx","owner":"bjagg","description":"Clojure code implementing a very simple JavaFX Application.","archived":false,"fork":false,"pushed_at":"2023-12-15T05:29:48.000Z","size":7,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-05T04:25:55.164Z","etag":null,"topics":["clojure","javafx","javafx-application","minimal"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bjagg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":"2018-02-08T19:00:05.000Z","updated_at":"2018-08-27T05:54:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"b10832dc-3c61-41ad-9116-169fcf5d59d5","html_url":"https://github.com/bjagg/clojure-minimal-javafx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bjagg/clojure-minimal-javafx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclojure-minimal-javafx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclojure-minimal-javafx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclojure-minimal-javafx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclojure-minimal-javafx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjagg","download_url":"https://codeload.github.com/bjagg/clojure-minimal-javafx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclojure-minimal-javafx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016368,"owners_count":26085828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["clojure","javafx","javafx-application","minimal"],"created_at":"2024-10-11T20:30:02.463Z","updated_at":"2025-10-13T17:38:09.835Z","avatar_url":"https://github.com/bjagg.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# clojure-minimal-javafx\n\nA Clojure application that implements the very short program\ndefined in the JavaDocs for [`javafx.application.Application`][1]:\n\n```\nimport javafx.application.Application;\nimport javafx.scene.Group;\nimport javafx.scene.Scene;\nimport javafx.scene.shape.Circle;\nimport javafx.stage.Stage;\n\npublic class MyApp extends Application {\n    public void start(Stage stage) {\n        Circle circ = new Circle(40, 40, 30);\n        Group root = new Group(circ);\n        Scene scene = new Scene(root, 400, 300);\n\n        stage.setTitle(\"My JavaFX Application\");\n        stage.setScene(scene);\n        stage.show();\n    }\n}\n```\n\n### Code Notes\n\n- The addition of `:main` and `:aot` to `project.clj` is required due\nto the self-reference in the `-main` function.\n- The Java code uses a variadic argument constructor for `javafx.scene.Group`.\nIn Clojure, it is challenging to invoke this constructor. Instead, the \nno-argument constructor is used, and the circle is added post-creation.\n- The generated Application class needs to be passed to `launch()` as functions\nare inner classes in Java. Also, hyphens in namespaces are converted\nto underscores for packages and files.\n\n## Usage\n\n```\n   lein run\n```\n\n## License\n\nCopyright © 2018 Benito Gonzalez\n\nDistributed under the Eclipse Public License.\n\n[1]: https://docs.oracle.com/javase/8/javafx/api/javafx/application/Application.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjagg%2Fclojure-minimal-javafx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbjagg%2Fclojure-minimal-javafx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjagg%2Fclojure-minimal-javafx/lists"}