Package cz.mp.k3bg

Source Code of cz.mp.k3bg.Main

/*
* Main.java
*
*  created: 19.8.2011
*  charset: UTF-8
*  license: MIT (X11) (See LICENSE file for full license)
*/
package cz.mp.k3bg;

import cz.mp.k3bg.gui.Dialogs;
import cz.mp.k3bg.gui.MainFrame;
import cz.mp.k3bg.log.LoggerManager;
import cz.mp.util.Stopwatch;
import java.awt.SplashScreen;
import java.util.logging.Logger;
import javax.swing.UIManager;

// TODO + undo/redo pro textová pole
// TODO + prompt s nápovědou nebo formátem některých textových polí

// TODO +(?) správa projektu (možnost načíst a uložit projekt) -- používat soubor OPF jako soubor projektu (?)

// TODO ^ unit testy balíku .core
// TODO ^?? pro logování použít log4j ??

// TODO + TocFilesParser + použití;  (možnost vybrat ToC jen z pracovního adresáře, testovat, zda soubory existují)

// TODO ^? balík .gui.component a .gui.helper a .gui.plaf do extra projektu,

// (pozn. viz  javadoc v  cz.mp.k3bg.core.packageinfo.java  --  info jak použít)

/**
*
* @author Martin Pokorný
* @version 0.1
*/
public class Main {

    private static final boolean DEBUG = false;
    private static final Logger logger =
            LoggerManager.getLogger(Main.class, DEBUG);

    /** */
    private static SplashScreen splash = null;


    /** */
    private static void initLaFBase() {
        UIManager.put("swing.boldMetal", false);
        UIManager.put("swing.aatext", true);      
    }

    /** */
    private static void initLaF4Debug() {
        if (!DEBUG) {
            return;
        }
       
    try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//            UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
//            UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
            // --- pokus  jgoodies look
//            UIManager.setLookAndFeel("com.jgoodies.looks.windows.WindowsLookAndFeel");
//            UIManager.setLookAndFeel("com.jgoodies.looks.plastic.Plastic3DLookAndFeel");
//            UIManager.setLookAndFeel("com.jgoodies.looks.plastic.PlasticLookAndFeel");
//            UIManager.setLookAndFeel("com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
            // ---
        }
    catch (Exception ex) {
      // nic
    }
    }

    /**
     *
     */
    private static void showGui() {
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                splash = SplashScreen.getSplashScreen();

                if (splash == null) {
                    logger.warning("SplashScreen.getSplashScreen() --> null");
               
               
                Stopwatch startupTime = new Stopwatch();
                startupTime.start();

                MainFrame.getInstance().setVisible(true);

                startupTime.stop();

                logger.config("startup in  " +
                        startupTime.getTimeSec() + " s");
               
                if (splash != null && splash.isVisible()) {
                    splash.close();
                }                 
            }
        });       
    }


    // -------------------------------------------------------------------------
    /** */
    public static void main(String[] args) throws Exception {
        try {
            Application.logConfigInfo();

            initLaFBase();           
            initLaF4Debug();
           
            logger.config("LaF name = " + UIManager.getLookAndFeel().getName());

            showGui();
           
        } catch (Exception ex) {
            logger.severe(ex.toString());
            Dialogs.showErrorDialog(ex.toString());
            throw ex;
        }
    }
}   // Main
TOP

Related Classes of cz.mp.k3bg.Main

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.