{"id":18556605,"url":"https://github.com/valkryst/jpathlist","last_synced_at":"2025-11-01T10:30:30.375Z","repository":{"id":196274619,"uuid":"695653159","full_name":"Valkryst/JPathList","owner":"Valkryst","description":"A Java Swing component designed to display a list of unique directory and/or file paths. Additionally, it supports drag-and-drop functionality, allowing users to drag files and directories from their file system into the list.","archived":false,"fork":false,"pushed_at":"2025-01-03T21:43:55.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-03T22:28:08.468Z","etag":null,"topics":["drag-and-drop","file-list","file-manager","hacktoberfest","input-output","java-gui","nio","nio2","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":"2023-09-23T20:15:58.000Z","updated_at":"2025-01-03T21:43:52.000Z","dependencies_parsed_at":"2024-06-04T01:45:18.211Z","dependency_job_id":"bfda143b-93a4-4af7-bc1f-4c5915ec4bb3","html_url":"https://github.com/Valkryst/JPathList","commit_stats":{"total_commits":48,"total_committers":2,"mean_commits":24.0,"dds":"0.33333333333333337","last_synced_commit":"e9edb5c343c6e5ae951eab17409406dd75fbe321"},"previous_names":["valkryst/jpathlist"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJPathList","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJPathList/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJPathList/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valkryst%2FJPathList/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Valkryst","download_url":"https://codeload.github.com/Valkryst/JPathList/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239281307,"owners_count":19612846,"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":["drag-and-drop","file-list","file-manager","hacktoberfest","input-output","java-gui","nio","nio2","swing","swing-component"],"created_at":"2024-11-06T21:32:11.804Z","updated_at":"2025-11-01T10:30:30.297Z","avatar_url":"https://github.com/Valkryst.png","language":"Java","funding_links":["https://github.com/sponsors/Valkryst"],"categories":[],"sub_categories":[],"readme":"[![Java CI with Maven](https://github.com/Valkryst/JPathList/actions/workflows/maven.yml/badge.svg)](https://github.com/Valkryst/JPathList/actions/workflows/maven.yml)\n[![CodeQL](https://github.com/Valkryst/JPathList/actions/workflows/codeql.yml/badge.svg)](https://github.com/Valkryst/JPathList/actions/workflows/codeql.yml)\n\n`JPathList` is a Java Swing component designed to display a list of _unique_ directory and/or file paths. Additionally,\nit supports drag-and-drop functionality, allowing users to drag files and directories from their file system into the\nlist.\n\n## Table of Contents\n\n* [Installation](https://github.com/Valkryst/JPathList#installation)\n    * [Gradle](https://github.com/Valkryst/JPathList#-gradle)\n    * [Maven](https://github.com/Valkryst/JPathList#-maven)\n    * [sbt](https://github.com/Valkryst/JPathList#-scala-sbt)\n* [Example](https://github.com/Valkryst/JPathList#example)\n* [Supported Recursion Modes](https://github.com/Valkryst/JPathList/blob/master/src/main/java/com/valkryst/JPathList/RecursionMode.java)\n\n## Installation\n\nJPathList is hosted on the [JitPack package repository](https://jitpack.io/#Valkryst/JPathList)\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 JPathList as a dependency.\n\n```\ndependencies {\n\timplementation 'com.github.Valkryst:JPathList:2023.11.11-2'\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 JPathList as a dependency.\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.Valkryst\u003c/groupId\u003e\n    \u003cartifactId\u003eJPathList\u003c/artifactId\u003e\n    \u003cversion\u003e2023.11.11-2\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 JPathList as a dependency.\n\n```\nlibraryDependencies += \"com.github.Valkryst\" % \"JPathList\" % \"2023.11.11-2\"\n```\n\n## Example\n\nThis creates a new `JPathList` and displays it in a `JFrame`. It is configured to display all files and directories\nadded to it, so you can immediately test the drag-and-drop functionality.\n\n```java\npublic class Driver {\n    public static void main(final String[] args) {\n        SwingUtilities.invokeLater(() -\u003e {\n            final var fileList = new JPathList();\n            fileList.setRecursionMode(JFileChooser.FILES_AND_DIRECTORIES);\n\n            final var frame = new JFrame(\"JPathList Example\");\n            frame.getContentPane().add(new JScrollPane(fileList));\n            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\n            frame.setPreferredSize(new Dimension(500, 500));\n\n            frame.setVisible(true);\n            frame.pack();\n            frame.setLocationRelativeTo(null);\n        });\n    }\n}\n```\n\nThe allowed recursion modes are:\n\n* `JFileChooser.FILES_ONLY`\n* `JFileChooser.DIRECTORIES_ONLY`\n* `JFileChooser.FILES_AND_DIRECTORIES`\n\nAny other values are considered `NONE` and will prevent any files or directories from being added to the list.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalkryst%2Fjpathlist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalkryst%2Fjpathlist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalkryst%2Fjpathlist/lists"}