Clients connect to a central server, which responds to a single client command, and then disconnects. Every command issued by a client will re-connect to the server before sending the command.
Client connections are handled, each with a separate thread.
- CSS Styling
- Adjustable directory width (drag middle bar)
- Mnemonic Parsing (Keyboard Shortcuts)
- Exit: CTRL + W
- Download: CTRL + D
- Upload: CTRL + E
- Multiple file upload/download (auto-refresh scene)
- Allows subdirectories to be shown
- Icons for folders and files
- Shows file size (B, kB, MB, GB, TB, PB, EB)
- Allows all file types to be uploaded and downloaded (text, exe, HTML, images, etc.)
- Shows what file is selected via a Label
Prerequisites: JDK 15+, JAVAFX 15+
- Clone the repository
- Open the project in an IDE (IntelliJ Idea is recommended)
- Navigate to 'File-Project Structure
- Navigate to 'Project' and add the Java 15 SDK
- Navigate to 'Global Libraries' and add JavaFX 15 to modules
- Edit run configurations
- Add an application template, modify it to direct to 'sample.Main'
- Add VM options and paste in this line
--module-path "path-to-lib" --add-modules javafx.controls,javafx.fxml
- Add VM options and paste in this line
- Add an application template, modify it to direct to sample.server.Server
- Add an application template, modify it to direct to 'sample.Main'
- Program should now run
- Run the Server first
- Followed by Main