https://github.com/hasnatrasool163/interactiveperiodictable
Periodic Table Application ๐งช Welcome to the Periodic Table Application! This JavaFX project provides an interactive and user-friendly interface to explore the periodic table of elements. Learn more about each element with a simple and elegant graphical user interface.
https://github.com/hasnatrasool163/interactiveperiodictable
chemistry desktop-application elements group java javafx period periodic-elements periodic-table periodic-table-of-elements
Last synced: about 1 month ago
JSON representation
Periodic Table Application ๐งช Welcome to the Periodic Table Application! This JavaFX project provides an interactive and user-friendly interface to explore the periodic table of elements. Learn more about each element with a simple and elegant graphical user interface.
- Host: GitHub
- URL: https://github.com/hasnatrasool163/interactiveperiodictable
- Owner: Hasnatrasool163
- Created: 2024-08-14T03:23:11.000Z (over 1 year ago)
- Default Branch: version1.2
- Last Pushed: 2025-04-18T20:00:21.000Z (8 months ago)
- Last Synced: 2025-04-19T07:51:29.018Z (8 months ago)
- Topics: chemistry, desktop-application, elements, group, java, javafx, period, periodic-elements, periodic-table, periodic-table-of-elements
- Homepage:
- Size: 3.94 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Interactive Periodic Table
A dynamic and educational JavaFX application providing an interactive way to explore the periodic table of elements with rich features for chemistry enthusiasts, students, and educators.

## Features
- **Complete Periodic Table**: Visual representation of all known elements with their basic properties
- **Element Information**: Detailed information about each element including atomic number, mass, group, and period
- **Element States Visualization**: Toggle between normal view and element state visualization (solid, liquid, gas, or unknown/synthetic)
- **Real Element Images**: View actual photographs of elements when available
- **Interactive Element Drag & Drop**: Drag elements to:
- Element Information Viewer: See details about a specific element
- Electron Shell Visualizer: View the electron configuration of elements
- Element Combiner: Experiment with combining elements
- **Search Functionality**: Quickly find elements by name or atomic number
- **Element Comparison**: Compare properties between any two elements
- **Keyboard Shortcuts**:
- `Ctrl+F`: Quick search
- `Ctrl+H`: About application
## Screenshots
### Main Interface

### Element States View

### Element Image View
![Element Image]
### Electron Configuration

## Requirements
- Java 17 or higher
- JavaFX 22 or higher
## Installation
1. Clone the repository:
```bash
git clone https://github.com/hasnatrasool163/InteractivePeriodicTable.git
```
2. Navigate to the project directory:
```bash
cd InteractivePeriodicTable
```
3. Build the project:
```bash
mvn clean install
```
4. Run the application:
```bash
mvn javafx:run
```
## Usage
### Viewing Element Information
- Click on any element to see basic information
- Right-click on an element to access additional options:
- Show Details: View comprehensive element information
- Compare with Another Element: Compare properties of two elements
- View Element Image: See a real photograph of the element
- About Application: View application information
### Using Element States Toggle
- Click the "Show States" button to visualize elements by their physical states at room temperature
- The legend at the right indicates the color coding for each state (solid, liquid, gas, unknown/synthetic)
- Click "Hide States" to return to the standard periodic table view
### Electron Shell Visualization
- Drag any element onto the electron shell visualization area to see its electron configuration
- The visualization displays the number of electrons in each shell
### Element Combination
- Drag elements to the combination area to experiment with element combinations
- Clear the combination area with the "Clear" button
### Search
- Enter an element name or atomic number in the search field
- Press Enter or click the "Search" button to highlight the matching element
## Project Structure
```
org.htech.interactiveperiodictable/
โโโ controller/
โ โโโ PeriodicTableController.java
โโโ layout/
โ โโโ CompoundFinder.java
โ โโโ Layouts.java
โโโ modal/
โ โโโ Element.java
โโโ utils/
โ โโโ UtilityMethods.java
โโโ resources/
โโโ css/
โ โโโ style.css
โโโ icons/
โ โโโ periodic.jpeg
โโโ images/
โโโ [element-images]
```
## Maven Configuration
The project uses Maven for dependency management. Key dependencies include:
org.openjfx
javafx-controls
17.0.6
org.openjfx
javafx-fxml
17.0.6
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## Acknowledgments
-Inspiration from traditional periodic tables with modern interactive elements