{"id":26075938,"url":"https://github.com/valkryst/jtoggleablepasswordfield","last_synced_at":"2026-04-24T07:31:55.304Z","repository":{"id":280189656,"uuid":"941240528","full_name":"Valkryst/JToggleablePasswordField","owner":"Valkryst","description":"JToggleablePasswordField is a Java Swing component that extends the standard JPasswordField with the ability to toggle between showing and hiding the password.","archived":false,"fork":false,"pushed_at":"2025-03-01T20:43:29.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-01T21:26:12.484Z","etag":null,"topics":["hacktoverfest","java-gui","jpasswordfield","jtextfield","swing","swing-component"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Valkryst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"github":"Valkryst"}},"created_at":"2025-03-01T20:23:44.000Z","updated_at":"2025-03-01T20:43:33.000Z","dependencies_parsed_at":"2025-03-01T21:36:21.776Z","dependency_job_id":null,"html_url":"https://github.com/Valkryst/JToggleablePasswordField","commit_stats":null,"previous_names":["valkryst/jtoggleablepasswordfield"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJToggleablePasswordField","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJToggleablePasswordField/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJToggleablePasswordField/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJToggleablePasswordField/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Valkryst","download_url":"https://codeload.github.com/Valkryst/JToggleablePasswordField/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242631152,"owners_count":20160831,"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":["hacktoverfest","java-gui","jpasswordfield","jtextfield","swing","swing-component"],"created_at":"2025-03-09T01:41:22.987Z","updated_at":"2026-04-24T07:31:55.299Z","avatar_url":"https://github.com/Valkryst.png","language":"Java","funding_links":["https://github.com/sponsors/Valkryst"],"categories":[],"sub_categories":[],"readme":"`JToggleablePasswordField` is a Java Swing component that extends the standard `JPasswordField` with the ability to toggle\nbetween showing and hiding the password. It features a clickable visibility icon that allows users to temporarily reveal\ntheir password to verify its correctness.\n\nRequires Java 11.\n\n## Table of Contents\n\n* [Installation](https://github.com/Valkryst/JToggleablePasswordField#installation)\n    * [Gradle](https://github.com/Valkryst/JToggleablePasswordField#-gradle)\n    * [Maven](https://github.com/Valkryst/JToggleablePasswordField#-maven)\n    * [sbt](https://github.com/Valkryst/JToggleablePasswordField#-scala-sbt)\n* [Example](https://github.com/Valkryst/JToggleablePasswordField#example)\n\n## Installation\n\nJToggleablePasswordField is hosted on the [JitPack package repository](https://jitpack.io/#Valkryst/JToggleablePasswordField)\nwhich supports Gradle, Maven, and sbt.\n\n### ![Gradle](https://i.imgur.com/qtc6bXq.png?1) Gradle\n\nAdd JitPack to your `build.gradle` at the end of repositories.\n\n```\nallprojects {\n\trepositories {\n\t\t...\n\t\tmaven { url 'https://jitpack.io' }\n\t}\n}\n```\n\nAdd JToggleablePasswordField as a dependency.\n\n```\ndependencies {\n\timplementation 'com.github.Valkryst:JToggleablePasswordField:2025.5.8'\n}\n```\n\n### ![Maven](https://i.imgur.com/2TZzobp.png?1) Maven\n\nAdd JitPack as a repository.\n\n``` xml\n\u003crepositories\u003e\n    \u003crepository\u003e\n        \u003cid\u003ejitpack.io\u003c/id\u003e\n        \u003curl\u003ehttps://jitpack.io\u003c/url\u003e\n    \u003c/repository\u003e\n\u003c/repositories\u003e\n```\nAdd JToggleablePasswordField as a dependency.\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.Valkryst\u003c/groupId\u003e\n    \u003cartifactId\u003eJToggleablePasswordField\u003c/artifactId\u003e\n    \u003cversion\u003e2025.5.8\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### ![Scala SBT](https://i.imgur.com/Nqv3mVd.png?1) Scala SBT\n\nAdd JitPack as a resolver.\n\n```\nresolvers += \"jitpack\" at \"https://jitpack.io\"\n```\n\nAdd JToggleablePasswordField as a dependency.\n\n```\nlibraryDependencies += \"com.github.Valkryst\" % \"JToggleablePasswordField\" % \"2025.5.8\"\n```\n\n## Features\n\n* Adaptive styling which respects the current Look and Feel.\n* Automatic scaling of the component's font and icon size based on the component's dimensions.\n* Password visibility toggling with a clickable icon.\n\n## Example\n\nThis creates a new `JToggleablePasswordField` and displays it in a `JFrame`.\n\n```java\npublic class Driver {\n    public static void main(final String[] args) {\n        SwingUtilities.invokeLater(() -\u003e {\n            final JToggleablePasswordField passwordField = new JToggleablePasswordField(\"secret password\");\n\n            final JFrame frame = new JFrame(\"JToggleablePasswordField Example\");\n            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\n            frame.setPreferredSize(new Dimension(400, 100));\n\n            final Container contentPane = frame.getContentPane();\n            contentPane.setLayout(new BorderLayout());\n            contentPane.add(passwordField, BorderLayout.CENTER);\n\n            frame.setVisible(true);\n            frame.pack();\n            frame.setLocationRelativeTo(null);\n        });\n    }\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalkryst%2Fjtoggleablepasswordfield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalkryst%2Fjtoggleablepasswordfield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalkryst%2Fjtoggleablepasswordfield/lists"}