The Quiz Master client features a modern, dark-themed interface inspired by contemporary web applications. The design prioritizes:
- Visual Clarity - High contrast text on dark backgrounds
- User Feedback - Immediate visual responses to interactions
- Professional Aesthetics - Clean, polished appearance
- Intuitive Layout - Logical information hierarchy
- Indigo (#6366F1) - Primary actions, highlights
- Success Green (#22C55E) - Correct answers, score
- Error Red (#EF4444) - Wrong answers, errors
- Dark Gray (#111827) - Main background
- Card Gray (#1F2937) - Content cards, panels
- Light Gray (#F3F4F6) - Primary text
- Medium Gray (#9CA3AF) - Secondary text, status
- Title: "🎯 Quiz Master" with large, bold font
- Score Display: Real-time score in green
- Status Indicator: Current connection/quiz status
- Bordered Panel: Indigo border with rounded corners
- Large Text: 18pt font for easy reading
- Word Wrap: Questions wrap naturally
- Dark Background: Reduces eye strain
- Grid Layout: 2x2 grid for easy scanning
- Radio Buttons: Styled as large, clickable cards
- Hover Effects: Visual feedback on mouse over
- Selection Highlight: Selected option turns indigo
- Disabled State: Grayed out after submission
- Prominent Design: Large, centered button
- Color Change: Darker shade on hover
- Disabled State: Inactive when no answer selected
- Hand Cursor: Indicates clickability
- Color-Coded: Green for correct, red for wrong
- Emoji Icons: ✓ for correct, ✗ for wrong
- Status Bar: Shows current state at all times
- Launch → Custom styled name input dialog
- Connect → Status shows "Connecting..." then "Connected!"
- Wait → "Waiting for quiz to start..." message
- Quiz Start → "Quiz has begun! Good luck! 🚀"
- Question → Question displays, answer buttons enabled
- Select → Click answer button (visual highlight)
- Submit → Click submit, buttons disable
- Feedback → Immediate "✓ Correct!" or "✗ Wrong" message
- Next → Repeat for each question
- Finish → "🏆 Quiz Finished!" with final score
JFrame- Main windowJPanel- Layout containersJLabel- Text displaysJTextArea- Question displayJRadioButton- Answer optionsButtonGroup- Radio button groupingJButton- Submit action
BorderLayout- Main structureGridLayout- Answer buttonsBoxLayout- Vertical stackingFlowLayout- Button centering
EmptyBorder- Padding/spacingLineBorder- Colored bordersCompoundBorder- Multiple borders- Custom colors via
Colorobjects - Custom fonts via
Fontobjects
- All UI updates use
SwingUtilities.invokeLater() - Network operations on background threads
- Prevents UI freezing during I/O
- ❌ Plain gray background
- ❌ Basic text area
- ❌ Simple text input field
- ❌ No visual feedback
- ❌ Cluttered layout
- ✅ Modern dark theme
- ✅ Styled question cards
- ✅ Interactive button grid
- ✅ Color-coded feedback
- ✅ Clean, spacious layout
- ✅ Professional appearance
- ✅ Smooth interactions
- ✅ Real-time score display