From 3e514f96bf70e5c0236bf26a2b2387093b38dc41 Mon Sep 17 00:00:00 2001 From: adarsh8114 Date: Fri, 23 May 2025 09:31:02 +0530 Subject: [PATCH] adarsh --- .../src/main/java/org/vanier/Main.java | 64 ++++++++++++++++--- 1 file changed, 55 insertions(+), 9 deletions(-) diff --git a/Deliverable_3/SchoolRegistrationSystem/src/main/java/org/vanier/Main.java b/Deliverable_3/SchoolRegistrationSystem/src/main/java/org/vanier/Main.java index c1dffa9..7d56e3a 100644 --- a/Deliverable_3/SchoolRegistrationSystem/src/main/java/org/vanier/Main.java +++ b/Deliverable_3/SchoolRegistrationSystem/src/main/java/org/vanier/Main.java @@ -4,17 +4,63 @@ import org.vanier.view.MainForm; import javax.swing.*; +import java.awt.*; public class Main { public static void main(String[] args) { - MainForm mainForm = new MainForm(); - // Set up the JFrame properties - JFrame frame = new JFrame("Main Form"); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setContentPane(mainForm.getContentPane()); - frame.pack(); - frame.setVisible(true); + // Set Look and Feel to system default for better appearance + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeel()); + } catch (Exception e) { + System.err.println("Could not set system look and feel: " + e.getMessage()); + } - DatabaseController.deleteTables(); + // Use SwingUtilities.invokeLater for thread safety + SwingUtilities.invokeLater(() -> { + createAndShowGUI(); + }); } -} + + private static void createAndShowGUI() { + try { + MainForm mainForm = new MainForm(); + + // Set up the JFrame properties with better configuration + JFrame frame = new JFrame("Main Application - Vanier"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setContentPane(mainForm.getContentPane()); + + // Center the window on screen + frame.pack(); + frame.setLocationRelativeTo(null); + + // Set minimum size to prevent too small window + frame.setMinimumSize(new Dimension(400, 300)); + + frame.setVisible(true); + + // Initialize database after GUI is created + initializeDatabase(); + + } catch (Exception e) { + JOptionPane.showMessageDialog(null, + "Error starting application: " + e.getMessage(), + "Startup Error", + JOptionPane.ERROR_MESSAGE); + System.exit(1); + } + } + + private static void initializeDatabase() { + try { + DatabaseController.deleteTables(); + System.out.println("Database tables cleared successfully."); + } catch (Exception e) { + System.err.println("Database initialization error: " + e.getMessage()); + JOptionPane.showMessageDialog(null, + "Database initialization failed: " + e.getMessage(), + "Database Error", + JOptionPane.WARNING_MESSAGE); + } + } +} \ No newline at end of file