Exemplo n.º 1
0
  /**
   * 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);
    }
  }