public static void main(String[] args) {
    //Display a loading screen
    loading = new JFrame("Syntaxilizer - By Alex Li");
    loading.getContentPane().add(new JLabel(new ImageIcon("resources\\loading.png")));
    loading.setUndecorated(true);
    loading.setSize(500, 100);
    loading.setBackground(new Color(0, 0, 0, 0));
    loading.setResizable(false);
    loading.setLocationRelativeTo(null); //center window on screen
    loading.setVisible(true);
    
    //Load some fonts (must be done BEFORE EventManager)
    try {
      normalFont = Font.createFont(Font.TRUETYPE_FONT, new File(normalFontName));
      monospaceFont = Font.createFont(Font.TRUETYPE_FONT, new File(monospaceFontName));
    } catch (Exception e) {
      System.err.println("Error loading fonts!");
      e.printStackTrace();
    }
    
    //Create the EventManager, which stores all the components
    //and also listens to actions, linking it to the back-end
    em = new EventManager();
    
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        createAndShowGUI();
      }
    });    
  }