Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kerciu/javafx-calculator
๐งฎ๐ข Simple Calculator application made in Java โ using JavaFX ๐ผ๏ธ allowing fundamental math functions โ๏ธโโโ๐ฐ
https://github.com/kerciu/javafx-calculator
calculator calculator-application gui java javafx javafx-application javafx-gui math ui user-experience-design user-interface ux
Last synced: about 2 months ago
JSON representation
๐งฎ๐ข Simple Calculator application made in Java โ using JavaFX ๐ผ๏ธ allowing fundamental math functions โ๏ธโโโ๐ฐ
- Host: GitHub
- URL: https://github.com/kerciu/javafx-calculator
- Owner: Kerciu
- License: mit
- Created: 2024-08-27T08:23:33.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-18T21:31:31.000Z (4 months ago)
- Last Synced: 2024-11-19T21:08:56.474Z (about 2 months ago)
- Topics: calculator, calculator-application, gui, java, javafx, javafx-application, javafx-gui, math, ui, user-experience-design, user-interface, ux
- Language: Java
- Homepage:
- Size: 221 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐งฎ JavaFX Calculator App
## ๐ Description
A simple calculator application built using JavaFX for the user interface. This desktop application supports basic arithmetic operations such as addition, subtraction, multiplication, and division. The app features a responsive user interface with optional dark mode and includes utility classes for parsing operations and managing calculator states.
## ๐ Notes
- Ensure you have **Java 8** or later installed. ๐
- You need a properly configured Java Development Kit (JDK) to run the application. ๐ ๏ธ
- In case of missing dependencies, verify that all required libraries are included in the `lib` folder or declared in the `pom.xml` file. ๐## ๐ ๏ธ Usage
1. **Launch the Application**:
- Run the application by executing the `MainClass.java` in the `com.calculator.main` package. ๐2. **Calculator Interface**:
- **Numeric Buttons**: Click or input numbers directly to the calculator. ๐ข
- **Operation Buttons**: Choose operations such as addition (`+`), subtraction (`-`), multiplication (`ร`), division (`รท`) and more. โโโ๏ธโ
- **Display**: The main display shows the current input and the result of calculations. ๐
- **Equals Button**: Compute the result of the current (binary) operation. โ
- **Clear and Clear Entry Buttons**: Reset the current input or operation. ๐งน
- **Dark Mode Toggle**: Switch between light and dark modes for a customized user experience. ๐3. **Core Functionality**:
- **Binary Operations**: Handle operations that involve two numbers (e.g., `5 + 3`).
- **Unary Operations**: Execute operations with a single operand (e.g., reciprocal or percentage).## ๐ Project Structure
- `src/` - Source code directory
- `com/`
- `calculator/` - Java source files
- `constants/` - Operator constants used throughout the application
- `controller/` - Contains `CalculatorController.java` for managing the interface logic
- `darkMode/` - Includes classes for handling dark mode (`DarkModeSwitcher.java`, `ToggleSwitch.java`)
- `icon/` - Utility for loading application icons (`StageIconLoader.java`)
- `main/` - Main entry point of the application (`MainClass.java`)
- `parsers/` - Logic for parsing binary and unary operations
- `state/` - Manages calculator state and operations (`CalculatorState.java`)
- `test/` - Unit tests for the parser and constants classes
- `resources/` - Resource directory
- `assets/images/` - Icons and images for the application (`calculator.png`)
- `styles/` - CSS for styling the application (`styles.css`)
- `calculator-main.fxml` - FXML layout file for the calculator interface## ๐ผ๏ธ Screenshots
## ๐ License
This project is licensed under the MIT License. See the [LICENCE](LICENCE) file for details. ๐
## ๐ฌ Contact
For questions, feedback, or support:
- **Author**: Kacper Gรณrski
- **LinkedIn**: [Kacper Gรณrski](https://www.linkedin.com/in/kacper-gorski-se)
- **Instagram**: [@kxcper.gorski](https://www.instagram.com/kxcper.gorski)
- **X**: [@Kerciuu](https://x.com/Kerciuu)
- **GitHub**: [Kerciu](https://github.com/Kerciu)
- **Support**: Email [[email protected]](mailto:[email protected])
For any issues, please open a GitHub issue. ๐