CodeFoxSoft Java Portfolio

Long before AI could write code, and before Stack Overflow had all the answers, I was teaching myself to speak the machine's language. My journey didn't start with a bootcamp; it started in the dark with QBasic and a help file, grinding out logic one syntax error at a time. I graduated to Java armed only with the raw API documentation and a text editor, building physics engines and cryptographic tools from scratch. This repository isn't just a collection of files; it is the fossil record of that evolution. It is proof that I didn't just download my skills—I forged them in the trenches of manual coding. This foundation is why, today, I don't ask AI for help; I give it orders.

🖥️ Professional Text Editors & IDE Tools

These projects demonstrate complex UI state management, file stream handling, and modal editing logic.

NotepadCommander.java

NotepadCommander.java

An advanced VIM-inspired text editor featuring a command bar, syntax highlighting, autocomplete, and modal editing. Very fun project to design and work on. Definitely a Codefoxsoft favorite.


SmartNotepad.java

SmartNotepad.java

An enhanced text editor equipped with an autocomplete feature. This was groundbreaking for me; created back in 2011, I learned that I could create my own autocomplete function.


JavaNano.java

JavaNano.java

A terminal-themed text editor GUI that simulates a command-line interface. Made to be extremely simple and light.


JavaNotepad.java

JavaNotepad.java

A fully functional text editor supporting standard file operations. I created this because I wanted to basically recreate Windows Notepad.


SimpleNotepad.java

SimpleNotepad.java

A basic text editor facilitating opening and saving text files via a graphical interface.


StudentRecordApp.java

StudentRecordApp.java

A data entry application for managing student records (Name, Grade, DOB) with file save/load capabilities.


🧮 Advanced Mathematics & Algorithmic Engineering

Hard-hitting logic demonstrating the handling of complex calculations and rigorous data transformations.

KeyGenerator.java

KeyGenerator.java

Generates pseudo-random software license keys by calculating massive Fibonacci numbers and converting subsets of them into formatted Hexadecimal strings.


MatrixMultiplier.java

MatrixMultiplier.java

A linear algebra tool that enables users to input two separate dimensions and data sets for matrices and computes their product.


MatrixOperations.java

MatrixOperations.java

A matrix arithmetic calculator offering a menu to perform matrix addition, scalar addition, or scalar multiplication (Matrix Themed).


FibonacciRecursive.java

FibonacciRecursive.java

A mathematical demonstration that generates and displays the first N terms of the Fibonacci sequence using a recursive algorithmic approach.


SmallestMultiple.java

SmallestMultiple.java

A search algorithm that finds the smallest positive number that is evenly divisible by all integers from 1 to 20.


PythagoreanTriples.java

PythagoreanTriples.java

Searches for and lists sets of integers (a, b, c) that satisfy the Pythagorean theorem within a specified range (1-100).


DecimalConverterGUI.java

DecimalConverterGUI.java

A comprehensive number system converter allowing transformation between Decimal, Binary, Octal, and Hexadecimal formats via radio button selection.


NumberSystemConverter.java

NumberSystemConverter.java

A multi-base conversion tool where the user selects source and target checkboxes to convert values between Decimal, Binary, Octal, and Hexadecimal.


GeometryCalc.java

GeometryCalc.java

Calculates and displays geometric properties (Circumference, Area, Surface Area, Volume) for circles and spheres based on a user-defined radius.


MultiplesOf3And5.java

MultiplesOf3And5.java

A numerical analysis solution that sums all natural numbers below a user-defined limit that are multiples of 3 or 5.


SumOfSquares.java

SumOfSquares.java

Calculates the sum of squares for a range of numbers.


TriangleArea.java

TriangleArea.java

Calculates the area of a triangle given the coordinates of its three vertices.


CircleArea.java

CircleArea.java

A mathematical tool that computes the precise area of a circle based on a user-submitted radius value.


AreaPerimeter.java

AreaPerimeter.java

A geometric calculator GUI that computes and displays both the area and perimeter of a rectangle derived from user-provided length and width input values.


MathOperations.java

MathOperations.java

A comprehensive demonstration of the Java `Math` library, performing various operations such as square root, cubing, and random number generation on a single input.


JavaMathGUI.java

JavaMathGUI.java

A math exploration tool that takes a number input and simultaneously displays the results of various Math class operations.


LittleMathMethods.java

LittleMathMethods.java

A modular arithmetic calculator that accepts two numerical inputs and processes them through distinct methods to perform arithmetic operations.


MethodSquare.java

MethodSquare.java

A simple functional demonstration that accepts an integer input and passes it to a dedicated method to calculate and return its square value.


🎮 Game Development & Physics Simulations

Interactive environments showcasing collision detection, real-time rendering, and game loops.

jPong.java

jPong.java

A comprehensive Arkanoid-style arcade game. Believe it or not, this was actually the BASE for SpacePong for Android!


Pong.java

Pong.java

Pong.java was created in 2011. At this time the most interesting concept to me was multithreading, which allows for the illusion of animation. Definitely one of the Codefoxsoft Favorites!


JumbledImagePuzzle.java

JumbledImagePuzzle.java

A visual puzzle game that loads an image, splits it into tiles, and allows the user to click a "Jumble" button to scramble them.


SevenEleven.java

SevenEleven.java

A graphical dice game where the player attempts to roll a sum of 7 or 11 within three attempts to win.


GuessTheNumber.java

GuessTheNumber.java

An interactive game where the user attempts to guess a randomly generated number between 1 and 10, featuring high/low hints.


SimpleLottery.java

SimpleLottery.java

A simple luck-based game where the user tries to match two randomly generated numbers.


HackerTerminalSimulator.java

HackerTerminalSimulator.java

An immersive "movie-style" hacker terminal simulation. Has fun commands like trace, hack, matrix, or nuke!!!


SimpleSpaceGame.java

SimpleSpaceGame.java

A visual simulation featuring a bouncing text label and rectangle that continuously reflects off the window edges.


🎨 Graphics, Animation & Java 2D

Visual-centric code demonstrating high-speed rendering and procedural generation.

AnalogClock.java

AnalogClock.java

Renders a functional 24-hour analog clock using Java 2D graphics, featuring second, minute, and hour hands that update in real-time.


BallMover.java

BallMover.java

Displays a smooth animation of a yellow ball bouncing horizontally. One of the first demonstrations where I learned to use multithreading for animation.


RandomWalkAnimation.java

RandomWalkAnimation.java

Simulates a "Random Walk" algorithm on a grid, visualizing the path of an agent moving in random directions.


RandomPixels.java

RandomPixels.java

A high-speed graphics demo that fills the screen with random "pixels". This was a "shout out" to when I first started with QBasic in 2006; as a 6th grader, I enjoyed the colors and simple graphics loops.


ColorArcs.java

ColorArcs.java

A graphical demonstration that draws multiple concentric arcs using generated color gradients.


RandomColorSquares.java

RandomColorSquares.java

Creates a visual "flashing" effect with random squares. This is also a Codefoxsoft favorite and a "shout out" to my early days with QBasic in 2006.


RandomDots.java

RandomDots.java

An automated drawing program that periodically adds a new randomly colored circle to the window.


RandomLineDrawer.java

RandomLineDrawer.java

Accumulates a drawing of random red lines on a white background.


PatternGenerator.java

PatternGenerator.java

A GUI that generates random maze-like text patterns using `|` and `-` characters, responsive to window resizing.


Welcome.java

Welcome.java

A digital welcome screen displaying the current date and time alongside a dynamic image.


🔡 String Manipulation & Linguistics

Sophisticated text processing, parsing, and data cleaning utilities.

MorseCodeTranslator.java

MorseCodeTranslator.java

A translation utility that converts alphanumeric text input into Morse code using parallel lookup arrays.


MorseCodeGUI.java

MorseCodeGUI.java

Provides a graphical interface for translating user-typed text into visual Morse Code sequences (dots and dashes).


TextAnalyzer.java

TextAnalyzer.java

Analyzes a text string to report statistics including vowel counts, total word count, and letter count.


WordSearch.java

WordSearch.java

A puzzle solver that reads a grid and a dictionary from text inputs to find words in all 8 directions.


FileTokenizerDemo.java

FileTokenizerDemo.java

A parsing utility that opens a user-specified text file and utilizes the `StringTokenizer` class to break down and display the content.


Strtok.java

Strtok.java

A GUI that demonstrates the use of `StringTokenizer` to split a user-entered sentence into individual words/tokens.


PalindromeChecker.java

PalindromeChecker.java

A text verification tool that checks if a given string reads the same forwards and backwards, featuring a "mirror" theme.


SimplePalindrome.java

SimplePalindrome.java

Checks if a user-provided string is a palindrome, ignoring spaces and case.


WordSorter.java

WordSorter.java

Continually accepts words from the user until "done" is typed, then sorts and displays the list of entered words.


PhoneNumberConverter.java

PhoneNumberConverter.java

A translation utility that converts alphanumeric phone numbers into their numeric equivalent, featuring a "Yellow Pages" theme.


CharacterCounter.java

CharacterCounter.java

A text analysis utility that scans a user-provided phrase to calculate and report the exact frequency of a specific target character.


VowelCounter.java

VowelCounter.java

Counts the occurrences of each vowel (A, E, I, O, U) in a user-provided phrase, case-insensitive (Fixed button layout).


StringRotator.java

StringRotator.java

Performs a "right rotation" on a string based on a numeric suffix.


LetterSpan.java

LetterSpan.java

A linguistic calculation GUI that determines the alphabetical distance between two characters and lists the intermediate letters.


NamePrefixer.java

NamePrefixer.java

A string processing utility that iterates through a list of names and appends gender-specific titles based on known names.


CelebNameSlicer.java

CelebNameSlicer.java

A string manipulation demonstration that processes a list of names by programmatically trimming specific leading and trailing characters.


PlayerNameSubstrings.java

PlayerNameSubstrings.java

A string manipulation demo that parses full names to extract and display the first and last names separately.


nameLength.java

nameLength.java

A string utility that takes a name input, calculates its length, and prints the name in reverse.


reverse.java

reverse.java

A utility that accepts a text string from the user and outputs the reversed version of that string.


StringDemo.java

StringDemo.java

A demonstration of manual string reversal using character arrays.


💼 Business, Finance & Logistics

Practical applications for retail, payroll, and industrial estimation.

BankMainApp.java

BankMainApp.java

A banking simulation GUI that manages a user's account balance, supporting deposit and withdrawal transactions. Includes BankHelper.java for backend calculations.


ProductTotalCalculator.java

ProductTotalCalculator.java

A retail calculator that sums product prices with optional descriptions, adds 6% tax (adjustable), and displays a clear receipt.


BabySitterPayCalc.java

BabySitterPayCalc.java

A payroll calculator GUI for babysitting services that computes total earnings based on hours worked and number of children managed.


MovingCostCalculator.java

MovingCostCalculator.java

A logistics calculator that estimates moving service costs based on distance traveled and rate structures.


CarpetPriceEstimator.java

CarpetPriceEstimator.java

A construction cost estimation tool that calculates the total material cost for carpeting a room, converting input dimensions from feet to square yards.


BMICalculator.java

BMICalculator.java

A health utility providing a GUI to calculate Body Mass Index (BMI) based on user-inputted height (inches) and weight (pounds).


PlanetaryWeightConverter.java

PlanetaryWeightConverter.java

An astronomical calculator that computes a user's relative weight on different fictional planets (Voltar, Krypton, etc.).


GPACalculator.java

GPACalculator.java

An academic grading tool that computes a precise Grade Point Average (GPA) by converting a series of input letter grades into their numerical equivalents.


teacher.java

teacher.java

A gradebook application allowing a teacher to input student names and numerical grades, which are then converted to letter grades and displayed.


DateFormatter.java

DateFormatter.java

A date parsing utility that converts raw numerical date inputs (month, day, year) into a formal localized string format.


NumberFormatter.java

NumberFormatter.java

A formatting demonstration that illustrates the use of the `DecimalFormat` class to render large floating-point numbers with custom separators.


📊 Data Structures & Sorting Algorithms

Utilities focused on organizing and analyzing collections of data.

NumberFileSorter.java

NumberFileSorter.java

A robust data processing tool that attempts to read integers from a file or accepts manual fallback input, then sorts and displays the collection.


BasicNumberSorter.java

BasicNumberSorter.java

A data organization tool that accepts a sequence of integer inputs and utilizes standard sorting algorithms to output the numbers in ascending numerical order.


NumericalSorter.java

NumericalSorter.java

A sorting utility that prompts the user for a count of numbers, accepts that many integer inputs, sorts them, and displays the result.


StringedArraySorter.java

StringedArraySorter.java

Collects a user-specified number of strings, sorts them alphabetically, and prints the result.


DigitFrequencyCounter.java

DigitFrequencyCounter.java

A statistical analysis tool that parses a string of numeric input to determine the distribution frequency of each digit (0-9).


ListDemo.java

ListDemo.java

A data structure demonstration that allows users to populate a dynamic list with string entries via the GUI.


StringArrayDemo.java

StringArrayDemo.java

Demonstrates storing multiple user inputs in a String array and then iterating through the array to display them.


🛡️ Security, Audio & System Utilities

Low-level system interactions and security simulations.

PasswordValidator.java

PasswordValidator.java

A security simulation that tests passwords against criteria (digits, uppercase, special chars) and rates them as Weak, Medium, or Strong.


SecurityTextScanner.java

SecurityTextScanner.java

Scans a named text file ("dictionary.txt") for specific security-related keywords (e.g., "bomb", "gun") and flags any lines containing them.


BSOD.java

BSOD.java

A "prank" application simulating the Windows Blue Screen of Death, which initiates a system shutdown timer.


AudioPlayerExample.java

AudioPlayerExample.java

An audio demonstration application that loads and plays a specific waveform audio file ("Blip.wav") using the Java Sound API's Clip interface.


MidiMusic.java

MidiMusic.java

A synthesized music player that programmatically generates and plays retro-style background music tracks using Java's MIDI system.


SystemBeep.java

SystemBeep.java

A simple utility that triggers the system's auditory beep or bell signal.


FileIODemo.java

FileIODemo.java

A file management utility with a GUI that demonstrates reading from and writing to text files ("random.txt"), including a dedicated Read button.


TriangleClassifierApp.java

TriangleClassifierApp.java

An AWT/Swing-based tool that accepts three side lengths to determine if they form a valid triangle and classifies it (Equilateral, Isosceles, Scalene).


TriangleValidator.java

TriangleValidator.java

A Swing-based variation of a triangle classifier that validates side lengths and identifies Right Triangles.


Problem1GUI.java

Problem1GUI.java

A logic checker that determines if an input number is considered "easy" based on whether it contains exactly one type of specific digit.


EvenOddChecker.java

EvenOddChecker.java

A parity analysis tool that evaluates an integer input to determine its classification as either an even or odd number.


🧱 GUI Fundamentals & Console Art

The foundational building blocks of UI design and terminal-based art.

JFrameExample.java

JFrameExample.java

A basic introductory GUI example featuring a text input field and a "Click ME" button that greets the user.


SimpleGridGui.java

SimpleGridGui.java

A basic GUI demonstration using a 2x2 GridLayout to display buttons, illustrating enabled and disabled component states.


ColorCheckBoxWindow.java

ColorCheckBoxWindow.java

An interactive window allowing the user to toggle the background color and text color using checkboxes.


RedWhiteBlue.java

RedWhiteBlue.java

A simple interactive window with three buttons that change the background color of the application to Red, White, or Blue.


AddThis.java

AddThis.java

A basic Swing GUI application that takes two integer inputs in text fields and displays their sum upon clicking a button.


Calculator.java

Calculator.java

A fully functional AWT-based calculator supporting standard arithmetic operations (add, subtract, multiply, divide) and copy-paste functionality.


inputGUIcalc.java

inputGUIcalc.java

Various iterations of GUI-based arithmetic.


NumberRangePrinter.java

NumberRangePrinter.java

A sequence generator GUI that accepts two integer bounds from the user and prints all integers within that range.


SimpleLoop.java

SimpleLoop.java

A basic loop demonstration that asks the user for a repetition count and then prints a specific message that many times.


SimpleIO.java

SimpleIO.java

A helper class demonstrating cleaner input/output methods.


TreePrinter.java

TreePrinter.java

Generates a pyramid-shaped "tree" of asterisks based on a user-supplied height.


RectangleDrawer.java

RectangleDrawer.java

Draws a solid rectangle of asterisks (*) to the console/output area based on user-supplied dimensions.


ASCII_Rectangle.java

ASCII_Rectangle.java

A utility that generates a visual ASCII art rectangle based on user-specified height and width dimensions.


ascii.java

ascii.java

Prints a reference table of ASCII characters and their corresponding numeric values from 1 to 128.