{"id":18556589,"url":"https://github.com/valkryst/jcopybutton","last_synced_at":"2025-11-01T10:30:30.299Z","repository":{"id":216008742,"uuid":"740232766","full_name":"Valkryst/JCopyButton","owner":"Valkryst","description":"JCopyButton is a Java Swing component designed to copy the contents of a JTextComponent to the system clipboard when clicked.","archived":false,"fork":false,"pushed_at":"2025-01-03T21:46:35.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-03T22:28:20.127Z","etag":null,"topics":["hacktoberfest","java-gui","jbutton","jtextarea","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":"2024-01-07T22:30:41.000Z","updated_at":"2025-01-03T21:46:32.000Z","dependencies_parsed_at":"2024-01-12T01:06:02.715Z","dependency_job_id":"a64da6ce-2847-4dd2-90f2-0c9eac97cd46","html_url":"https://github.com/Valkryst/JCopyButton","commit_stats":{"total_commits":28,"total_committers":2,"mean_commits":14.0,"dds":0.0714285714285714,"last_synced_commit":"d5aa87ea83cec18dd6ea3536bc7f26493e06b717"},"previous_names":["valkryst/jcopybutton"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJCopyButton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJCopyButton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJCopyButton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJCopyButton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Valkryst","download_url":"https://codeload.github.com/Valkryst/JCopyButton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239281301,"owners_count":19612843,"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":["hacktoberfest","java-gui","jbutton","jtextarea","swing","swing-component"],"created_at":"2024-11-06T21:32:01.876Z","updated_at":"2025-11-01T10:30:30.258Z","avatar_url":"https://github.com/Valkryst.png","language":"Java","funding_links":["https://github.com/sponsors/Valkryst"],"categories":[],"sub_categories":[],"readme":"`JCopyButton` is a Java Swing component designed to copy the contents of a [JTextComponent](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/text/JTextComponent.html)\nto the system clipboard when clicked. It can be used with `JTextComponent` and all of its subclasses:\n\n* [JEditorPane](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/JEditorPane.html)\n  * [JTextPane](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/JTextPane.html)\n* [JTextArea](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/JTextArea.html)\n* [JTextField](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/JTextField.html)\n  * [DefaultTreeCellEditor.DefaultTextField](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/tree/DefaultTreeCellEditor.DefaultTextField.html)\n  * [JFormattedTextField](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/JFormattedTextField.html) \n  * [JPasswordField](https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/JPasswordField.html)\n\n\n## Table of Contents\n\n* [Installation](https://github.com/Valkryst/JCopyButton#installation)\n    * [Gradle](https://github.com/Valkryst/JCopyButton#-gradle)\n    * [Maven](https://github.com/Valkryst/JCopyButton#-maven)\n    * [sbt](https://github.com/Valkryst/JCopyButton#-scala-sbt)\n* [Example](https://github.com/Valkryst/JCopyButton#example)\n\n## Installation\n\nJCopyButton is hosted on the [JitPack package repository](https://jitpack.io/#Valkryst/JCopyButton)\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 JCopyButton as a dependency.\n\n```\ndependencies {\n\timplementation 'com.github.Valkryst:JCopyButton:2024.1.7'\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 JCopyButton as a dependency.\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.Valkryst\u003c/groupId\u003e\n    \u003cartifactId\u003eJCopyButton\u003c/artifactId\u003e\n    \u003cversion\u003e2024.1.7\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 JCopyButton as a dependency.\n\n```\nlibraryDependencies += \"com.github.Valkryst\" % \"JCopyButton\" % \"2024.1.7\"\n```\n\n## Example\n\nThis creates a new `JCopyButton` and displays it in a `JFrame`, along with a `JTextArea` that contains some text for the\nbutton to copy.\n\n```java\npublic class Driver {\n  public static void main(final String[] args) {\n    SwingUtilities.invokeLater(() -\u003e {\n      final JTextArea textArea = new JTextArea();\n      textArea.setLineWrap(true);\n      textArea.setText(\"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\");\n      textArea.setWrapStyleWord(true);\n\n      final JFrame frame = new JFrame(\"JCopyButton Example\");\n      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\n      frame.setPreferredSize(new Dimension(500, 500));\n\n      final Container contentPane = frame.getContentPane();\n      contentPane.setLayout(new BorderLayout());\n      contentPane.add(new JScrollPane(textArea), BorderLayout.CENTER);\n      contentPane.add(new JCopyButton(textArea), BorderLayout.SOUTH);\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%2Fjcopybutton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalkryst%2Fjcopybutton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalkryst%2Fjcopybutton/lists"}