All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.invation.code.toval.graphic.misc.AbstractStartup Maven / Gradle / Ivy

package de.invation.code.toval.graphic.misc;

import de.invation.code.toval.os.OSType;
import de.invation.code.toval.os.OSUtils;
import de.invation.code.toval.validate.ExceptionDialog;

public abstract class AbstractStartup {

    protected AbstractStartup() {
        if (OSUtils.getCurrentOS() == OSType.OS_MACOSX) {
            System.setProperty("com.apple.mrj.application.apple.menu.about.name", getToolName());
            System.setProperty("com.apple.macos.useScreenMenuBar", "true");
            System.setProperty("apple.laf.useScreenMenuBar", "true");
            System.setProperty("com.apple.mrj.application.apple.menu.about.name", getToolName());
        }

        try {
            startApplication();
        } catch (Exception e) {
            ExceptionDialog.showException(null, "Internal Exception", e, true);
//			JOptionPane.showMessageDialog(null, "Cannot launch application.\nReason: " + e.getMessage(), "Internal Exception", JOptionPane.ERROR_MESSAGE);
        }
    }

    protected abstract String getToolName();

    protected abstract void startApplication() throws Exception;

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy