# Basic Counter Application

A simple counter application with increment and decrement buttons using Java Swing. Perfect for learning Java GUI basics and event listeners.

## 📋 Project Details

- **Title**: Basic Counter
- **Category**: Java Projects
- **Difficulty**: Beginner
- **Year**: 2026
- **Author**: RSK World
- **Website**: https://rskworld.in
- **Contact**: help@rskworld.in | +91 93305 39277

## 🛠️ Technologies Used

- **Java** - Core programming language
- **Swing** - GUI framework for desktop applications
- **Event Handling** - Button click event processing
- **GUI Components** - JLabel, JButton, JFrame, JPanel

## ✨ Features

- ✅ **Increment Button** - Increases counter value
- ✅ **Decrement Button** - Decreases counter value
- ✅ **Reset Button** - Resets counter to zero
- ✅ **Display Counter** - Shows current counter value
- ✅ **Simple GUI** - Clean and intuitive interface
- ✅ **Event Handling** - Responsive button interactions
- ✅ **Color-coded Display** - Counter changes color based on value
- ✅ **Hover Effects** - Interactive button animations

## 🚀 How to Run

### Prerequisites
- Java Development Kit (JDK) 8 or higher
- Any Java IDE (Eclipse, IntelliJ IDEA, NetBeans) or text editor

### Steps

1. **Clone or Download** the project
2. **Navigate** to the project directory
3. **Compile** the Java file:
   ```bash
   javac BasicCounter.java
   ```
4. **Run** the application:
   ```bash
   java BasicCounter
   ```

### Alternative: Using IDE

1. Open the `BasicCounter.java` file in your favorite Java IDE
2. Right-click on the file and select "Run" or "Run as Java Application"

## 📱 Application Screenshots

The application features:
- Clean, modern interface with centered layout
- Large, readable counter display
- Color-coded counter values (Green for positive, Red for negative, Blue for zero)
- Responsive buttons with hover effects
- Professional styling with proper spacing

## 🏗️ Project Structure

```
basic-counter/
├── BasicCounter.java          # Main application file
├── README.md                  # Project documentation
├── index.html                 # Demo page
├── docs/                      # Additional documentation
│   ├── features.md           # Feature details
│   └── installation.md       # Installation guide
└── images/                    # Project images
    └── basic-counter.png     # Application screenshot
```

## 💡 Learning Outcomes

This project helps you learn:
- Java Swing GUI development
- Event handling and action listeners
- Layout management (BorderLayout, GridLayout)
- Component styling and colors
- Mouse event handling (hover effects)
- Thread-safe GUI programming (SwingUtilities)

## 🔧 Customization

You can easily customize:
- **Colors**: Modify the RGB values in the code
- **Fonts**: Change font families and sizes
- **Layout**: Adjust panel arrangements
- **Button Text**: Update button labels
- **Window Size**: Modify frame dimensions

## 🐛 Troubleshooting

### Common Issues

1. **Compilation Error**: Ensure JDK is properly installed and PATH is set
2. **No GUI Display**: Make sure you're running in an environment with GUI support
3. **Button Not Working**: Check if action listeners are properly attached

### Solutions

- Verify Java installation: `java -version`
- Check compiler: `javac -version`
- Ensure all imports are correctly referenced

## 📞 Support

For any queries or support:
- **Email**: help@rskworld.in
- **Phone**: +91 93305 39277
- **Website**: https://rskworld.in
- **Location**: Nutanhat, Mongolkote, Purba Burdwan, West Bengal, India - 713147

## 📄 License

This project is created and maintained by RSK World for educational purposes. 

© 2026 RSK World. All rights reserved.

---

**Founded by Molla Samser, with Designer & Tester Rima Khatun**

RSK World is your one-stop destination for free programming resources, source code, and development tools.

Content used for educational purposes only. [View Disclaimer](https://rskworld.in/disclaimer.php)
