import java.util.Properties; import javax.swing.ImageIcon; import com.apple.eawt.Application; import com.apple.eawt.ApplicationEvent; import com.apple.eawt.ApplicationListener; import de.yourwebs.cent.CentGUI; import de.yourwebs.cent.CentSplash; import de.yourwebs.cent.Config; import de.yourwebs.cent.dialogs.AboutDialog; import de.yourwebs.cent.dialogs.options.OptionsDialog; public class Cent { public static void main(String[] args) { System.getProperties().put("apple.laf.useScreenMenuBar", "true"); Cent cent = new Cent(); CentGUI.getCentGUI(); if (Config.getOS().equals("mac")) { new MacImpl(); } } } class MacImpl implements ClassSelector, ApplicationListener { public MacImpl(){ handleOS(); } @Override public void handleOS() { try { final Application application = Application.getApplication(); application.setDockIconImage(new ImageIcon(ClassLoader.getSystemResource(Config.IMG_VERZ + Config.APP_NAME.toLowerCase() + "512.png")).getImage()); application.setEnabledAboutMenu(true); application.addPreferencesMenuItem(); application.setEnabledPreferencesMenu(true); application.addApplicationListener(this); } catch (Throwable e) { System.err.println("setupMacOSXApplicationListener failed: " + e.getMessage()); } } public void handleAbout(ApplicationEvent arg0) { new AboutDialog(CentGUI.getCentGUI()); arg0.setHandled(true); } public void handleOpenApplication(ApplicationEvent arg0) { } public void handleOpenFile(ApplicationEvent arg0) { } public void handlePreferences(ApplicationEvent arg0) { new OptionsDialog(); arg0.setHandled(true); } public void handlePrintFile(ApplicationEvent arg0) { } public void handleQuit(ApplicationEvent arg0) { arg0.setHandled(true); System.exit(0); } public void handleReOpenApplication(ApplicationEvent arg0) { } } interface ClassSelector { public void handleOS(); }