This project contains two JavaFX applications:
- Dictionary Application - A bilingual translation tool between Oromo and English
- Registration Form - A user registration interface with form validation
- Bidirectional Translation: Translate words from Oromo to English and vice versa
- Database Integration: Stores and retrieves translations from an Apache Derby database
- User-Friendly Interface: Simple GUI with clear input fields and buttons
The application uses a table named Transilation with the following structure:
CREATE TABLE Transilation (
OROMO VARCHAR(255),
English VARCHAR(255)
);- Save Button: Stores new word pairs (Oromo-English) in the database
- Translate Button:
- If only Oromo word is entered: translates to English
- If only English word is entered: translates to Oromo
- Displays error if both fields are filled
Connection conn = DriverManager.getConnection(
"jdbc:derby://localhost:1527/JAVA2025",
"bonbonsa",
"*******"
);- User Information Collection:
- Name
- Phone number
- ID
- Gender (Male/Female)
- Department selection
- Form Controls:
- Text fields for name, phone, and ID
- Radio buttons for gender selection
- Dropdown (ChoiceBox) for department selection
- Save and Reset functionality
- Name: Text input field
- Phone: Text input field for phone number
- ID: Text input field for identification
- Gender: Radio button selection (Male/Female)
- Department: Dropdown with options:
- IT
- Computer
- Software
- Biomed
- Save Button: Processes and displays form data
- Reset Button: Clears all form fields
- Java Development Kit (JDK) 8 or higher
- JavaFX SDK
- Apache Derby Database Server
- IDE (NetBeans, Eclipse, or IntelliJ IDEA)
- Install and start Apache Derby server
- Create database named
JAVA2025 - Create table
Transilationwith OROMO and English columns - Update connection credentials in the Dictionary class
- Download JavaFX SDK
- Add JavaFX libraries to your project classpath
- Set VM options:
--module-path "path-to-javafx-sdk/lib" --add-modules javafx.controls,javafx.fxml
- Ensure Derby server is running on
localhost:1527 - Update database credentials in the Dictionary class:
// Replace with your actual credentials Connection conn = DriverManager.getConnection( "jdbc:derby://localhost:1527/JAVA2025", "your-username", "your-password" );
Dictionary Application:
javac Dictionary.java
java DictionaryRegistration Form:
javac RegistrationForm.java
java RegistrationFormsrc/
├── Registration/
│ ├── Dictionary.java
│ └── RegistrationForm.java
lib/
├── javafx-sdk/
└── derbyclient.jar
- JavaFX 8 or higher
- Apache Derby Client (derbyclient.jar)
- Enter a word in either Oromo or English field (not both)
- Click "Translate" to get the translation
- To add new words, enter both Oromo and English, then click "Save"
- Fill in all required fields
- Select gender and department
- Click "Save" to process the data
- Use "Reset" to clear the form
-
Database Connection Error:
- Verify Derby server is running
- Check database URL and credentials
- Ensure database and table exist
-
JavaFX Not Loading:
- Verify JavaFX SDK path in VM options
- Check module declarations
-
Class Not Found Exception:
- Ensure derbyclient.jar is in classpath
- Verify all dependencies are properly imported
- Built using JavaFX for GUI components
- Uses JDBC for database operations
- Implements prepared statements to prevent SQL injection
- Follows MVC pattern for separation of concerns
- Add input validation and error handling
- Implement search functionality in dictionary
- Add data persistence for registration form
- Enhance UI with CSS styling
- Add update and delete operations for dictionary entries
Developed as a JavaFX application demonstration for bilingual dictionary and user registration systems.