/** * Constructor. * * @throws Exception if any error occurs. */ public GUIMacOSX() throws Exception { // Name for the dock icon and the application menu System.setProperty(P_ABOUT_NAME, NAME); // Show menu in the screen menu instead of inside the application window System.setProperty(P_SCREEN_MENU_BAR, "true"); // load native java classes... appClass = Class.forName(C_APPLICATION); appObj = invoke(appClass, null, "getApplication", EC, EO); Class.forName(C_APPLICATION_EVENT); if (appObj != null) { invoke("addAboutMenuItem"); invoke("setEnabledAboutMenu", true); invoke("addPreferencesMenuItem"); invoke("setEnabledPreferencesMenu", true); addDockIcon(); final Class<?> alc = Class.forName(C_APPLICATION_LISTENER); final Object listener = Proxy.newProxyInstance( getClass().getClassLoader(), new Class[] {alc}, new AppInvocationHandler()); invoke("addApplicationListener", alc, listener); } }