Skip to content

Repository files navigation

SoftPad

A lightweight Swing-based text editor updated for modern Java using Gradle build system.

Features

  • Open, save, and save-as for plain text files
  • Find and replace support
  • Cut/copy/paste/delete/select all
  • Text color selection and font chooser
  • Word/character count and timestamp insertion
  • Status bar with caret/word count and timestamp

Requirements

  • Java 17 or later
  • Gradle 8.5+ (or use included wrapper)

Project Structure

softpad/
├── build.gradle              # Gradle build configuration
├── settings.gradle           # Gradle project settings
├── gradlew                   # Gradle wrapper (Linux/Mac)
├── gradlew.bat               # Gradle wrapper (Windows)
├── gradle/
│   └── wrapper/
│       └── gradle-wrapper.properties
├── src/
│   └── main/
│       └── java/
│           ├── SoftPad.java
│           └── FontDialog.java
├── build/                    # Generated build output
├── README.md
└── LICENSE

Build and Run

Quick Start (Recommended - No Installation Required)

Windows (CMD):

build.cmd
run.cmd

Windows (PowerShell):

.\build.ps1
java -jar build/lib/softpad.jar

Linux/Mac:

chmod +x build.sh
./build.sh
java -jar build/lib/softpad.jar

Using Gradle

First install Gradle 8.5+, then:

gradle clean build
gradle run

Or using the provided wrapper (requires Gradle to be installed once to initialize):

./gradlew clean build    # Linux/Mac
.\gradlew.bat build      # Windows

Create Standalone JAR

After building with any method, the JAR is located at:

build/lib/softpad.jar

Run it with:

java -jar build/lib/softpad.jar

Direct Java Compilation (Alternative)

Without any build system:

javac -d build/classes -encoding UTF-8 src/main/java/*.java
java -cp build/classes SoftPad

Notes

  • The project uses modern Swing controls (JFileChooser, JScrollPane, etc.)
  • FontDialog provides font family, style, and size selection via standard Swing components
  • File I/O preserves UTF-8 text encoding
  • All source files reside in src/main/java/ following Maven/Gradle conventions
  • Gradle automatically handles compilation and packaging

About

Notepad application in Java

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages