{"id":28399086,"url":"https://github.com/dheid/fontchooser","last_synced_at":"2025-06-28T19:32:16.784Z","repository":{"id":56714182,"uuid":"523971615","full_name":"dheid/fontchooser","owner":"dheid","description":"This easy to use Java Swing font chooser component allows users to select a font by selecting a font family name and the installed font variants.","archived":false,"fork":false,"pushed_at":"2024-07-22T12:39:59.000Z","size":1833,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-01T14:42:38.032Z","etag":null,"topics":["awt","desktop","gui","java-swing","multiplatform","swing","ui"],"latest_commit_sha":null,"homepage":"https://www.daniel-heid.de/open-source-projekte/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dheid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["dheid"],"ko_fi":"dheid"}},"created_at":"2022-08-12T05:54:54.000Z","updated_at":"2025-02-05T21:11:10.000Z","dependencies_parsed_at":"2023-12-04T12:24:48.021Z","dependency_job_id":"ebe42278-b7ae-4f9a-98dd-949039a81408","html_url":"https://github.com/dheid/fontchooser","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/dheid/fontchooser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheid%2Ffontchooser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheid%2Ffontchooser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheid%2Ffontchooser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheid%2Ffontchooser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dheid","download_url":"https://codeload.github.com/dheid/fontchooser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dheid%2Ffontchooser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262484125,"owners_count":23318398,"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","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":["awt","desktop","gui","java-swing","multiplatform","swing","ui"],"created_at":"2025-06-01T06:39:21.451Z","updated_at":"2025-06-28T19:32:16.768Z","avatar_url":"https://github.com/dheid.png","language":"Java","funding_links":["https://github.com/sponsors/dheid","https://ko-fi.com/dheid","https://ko-fi.com/W7W3EER56"],"categories":[],"sub_categories":[],"readme":"![Java Swing Font Chooser Logo](logo.svg)\n\n# :pencil2: Java Swing Font Chooser Dialog and Panel\n\n[![Maven Central](https://img.shields.io/maven-central/v/org.drjekyll/fontchooser.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22org.drjekyll%22%20AND%20a:%22fontchooser%22)\n[![Java CI with Maven](https://github.com/dheid/fontchooser/actions/workflows/build.yml/badge.svg)](https://github.com/dheid/fontchooser/actions/workflows/build.yml)\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/W7W3EER56)\n\nJava does not provide a lightweight font chooser out of the box. This easy to use Java Swing font chooser component\nallows users to select a font by selecting a font family name and the installed font variants. Users are able to search\nfor a font and insert their own preview text.\n\n* Compact design\n* Looks good on every operating system\n* Allows to find a font family easily\n* Supports font styles\n* Shows font in preview\n* Allows to change the preview text\n* Compatible with Java 8 and upwards\n* Easy to use\n* Well documented with Javadoc\n* No dependencies\n\nThere are translations for the following languages:\n\n* English\n* German\n* Greek\n* Hungarian\n* Spanish\n* Finnish\n* French\n* Brazilian Portuguese\n* Russian\n\nFont Chooser is an open source project and completely free. I appreciate improvements or extensions. Please contact\nme if you have questions.\n\n## Screenshots\n\n## :dancers: Cross Platform\n![Font Chooser (Cross Platform)](screenshots/fontchooser-metallookandfeel.png \"Font Chooser (Cross Platform)\")\n\n## :penguin: GTK / Linux\n![Font Chooser (GTK)](screenshots/fontchooser-gtklookandfeel.png \"Font Chooser (GTK)\")\n\n## :apple: Aqua / Mac\n![Font Chooser (Aqua)](screenshots/fontchooser-aqualookandfeel.png \"Font Chooser (Aqua)\")\n\n## :office: Windows\n![Font Chooser (Windows)](screenshots/fontchooser-windowslookandfeel.png \"Font Chooser (Windows)\")\n\n## :heart: Third party look and feels\n\n![Font Choooser (acryllookandfeel)](screenshots/fontchooser-acryllookandfeel.png \"Font Chooser(acryllookandfeel)\")\n![Font Choooser (aerolookandfeel)](screenshots/fontchooser-aerolookandfeel.png \"Font Chooser(aerolookandfeel)\")\n![Font Choooser (bernsteinlookandfeel)](screenshots/fontchooser-bernsteinlookandfeel.png \"Font Chooser(bernsteinlookandfeel)\")\n![Font Choooser (darklaf)](screenshots/fontchooser-darklaf.png \"Font Chooser(darklaf)\")\n![Font Choooser (fastlookandfeel)](screenshots/fontchooser-fastlookandfeel.png \"Font Chooser(fastlookandfeel)\")\n![Font Choooser (flatdarculalaf)](screenshots/fontchooser-flatdarculalaf.png \"Font Chooser(flatdarculalaf)\")\n![Font Choooser (flatdarklaf)](screenshots/fontchooser-flatdarklaf.png \"Font Chooser(flatdarklaf)\")\n![Font Choooser (flatintellijlaf)](screenshots/fontchooser-flatintellijlaf.png \"Font Chooser(flatintellijlaf)\")\n![Font Choooser (flatlightlaf)](screenshots/fontchooser-flatlightlaf.png \"Font Chooser(flatlightlaf)\")\n![Font Choooser (graphitelookandfeel)](screenshots/fontchooser-graphitelookandfeel.png \"Font Chooser(graphitelookandfeel)\")\n![Font Choooser (hifilookandfeel)](screenshots/fontchooser-hifilookandfeel.png \"Font Chooser(hifilookandfeel)\")\n![Font Choooser (lunalookandfeel)](screenshots/fontchooser-lunalookandfeel.png \"Font Chooser(lunalookandfeel)\")\n![Font Choooser (mcwinlookandfeel)](screenshots/fontchooser-mcwinlookandfeel.png \"Font Chooser(mcwinlookandfeel)\")\n![Font Choooser (mintlookandfeel)](screenshots/fontchooser-mintlookandfeel.png \"Font Chooser(mintlookandfeel)\")\n![Font Choooser (motiflookandfeel)](screenshots/fontchooser-motiflookandfeel.png \"Font Chooser(motiflookandfeel)\")\n![Font Choooser (nimbuslookandfeel)](screenshots/fontchooser-nimbuslookandfeel.png \"Font Chooser(nimbuslookandfeel)\")\n![Font Choooser (noirelookandfeel)](screenshots/fontchooser-noirelookandfeel.png \"Font Chooser(noirelookandfeel)\")\n![Font Choooser (smartlookandfeel)](screenshots/fontchooser-smartlookandfeel.png \"Font Chooser(smartlookandfeel)\")\n![Font Choooser (texturelookandfeel)](screenshots/fontchooser-texturelookandfeel.png \"Font Chooser(texturelookandfeel)\")\n\n## :wrench: Usage\n\nInclude the following dependency to your project:\n\n```xml \n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.drjekyll\u003c/groupId\u003e\n    \u003cartifactId\u003efontchooser\u003c/artifactId\u003e\n    \u003cversion\u003e3.0.1\u003c/version\u003e\n \u003c/dependency\u003e\n```\n\nor Gradle with Groovy DSL:\n\n```groovy\nimplementation 'org.drjekyll:fontchooser:3.0.1'\n```\n\nor Gradle with Kotlin DSL:\n\n```kotlin\nimplementation(\"org.drjekyll:fontchooser:3.0.1\")\n```\n\nIf you want to apply a font to a specific component, e.g. a text area, simply use\n\n```java\nJTextArea textArea = new JTextArea();\nFontDialog.showDialog(textArea);\n```\n\nThis will display the modal font dialog and apply the font to the component, if the user clicked OK.\n\nHere is another simple example on how to use the font chooser dialog in your application:\n\n```java\nFontDialog dialog = new FontDialog((Frame)null,\"Font Dialog Example\",true);\ndialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);\ndialog.setVisible(true);\nif(!dialog.isCancelSelected()){\n  System.out.printf(\"Selected font is: %s%n\",dialog.getSelectedFont());\n}                                                               \n```\n\nYou'll find more examples in the module fontchooser-example:\n\n* [DialogExample](examples/DialogExample.java)\n* [PanelExample](examples/PanelExample.java)\n* [ShowDialogExample](examples/ShowDialogExample.java)\n\n## :hammer: Building\n\nPlease use Maven to build and test the project.\n\n    mvn install\n\nThis will install the version to your local repository. You can now include it:\n\n```xml \n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.drjekyll\u003c/groupId\u003e\n    \u003cartifactId\u003efontchooser\u003c/artifactId\u003e\n    \u003cversion\u003e3.0.2-SNAPSHOT\u003c/version\u003e\n \u003c/dependency\u003e\n```\n\nor Gradle with Groovy DSL:\n\n```groovy\nimplementation 'org.drjekyll:fontchooser:3.0.2-SNAPSHOT'\n```\n\nor Gradle with Kotlin DSL:\n\n```kotlin\nimplementation(\"org.drjekyll:fontchooser:3.0.2-SNAPSHOT\")\n```\n\n## :handshake: Contributing and Credits\n\nPlease see here: [Contributing](CONTRIBUTING.md)\n\nThis is a major rewrite of the JFontChooser component, originally written by Dr Christos Bohoris (Copyright 2009).\n\n## :notebook: Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see\nthe [tags on this repository](https://github.com/dheid/fontchooser/tags).\n\n## :scroll: License\n\nGNU LESSER GENERAL PUBLIC LICENSE\nVersion 3, 29 June 2007\nhttps://www.gnu.org/licenses/lgpl-3.0.en.html\n\n## :loudspeaker: Release Notes\n\n### 3.1.0\n\nIncludes a check box to show only monospaced fonts\n\n### 3.0.0\n\nThis version needs at least Java 11 to run.\n\n### 3.0.1\n\nThis version supports [Darklaf](https://github.com/weisJ/darklaf) now.\n\nStyles do not include family name any longer.\n\n### 2.5.1\n\n* Introduced Lombok\n* Migrated to JUnit 5\n* Updated dependencies and plugins\n* Migrated to GitHub\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdheid%2Ffontchooser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdheid%2Ffontchooser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdheid%2Ffontchooser/lists"}