package de.todesbaum.jsite.main;
import java.awt.Component;
+import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.text.MessageFormat;
import java.util.Date;
import java.util.HashMap;
wizard.addWizardListener(this);
jSiteIcon = IconLoader.loadIcon("/jsite-icon.png");
wizard.setIcon(jSiteIcon);
+ wizard.setIconImage(IconLoader.loadImage("/jsite-icon.png"));
updateChecker = new UpdateChecker(freenetInterface, getVersion());
updateChecker.addUpdateListener(this);
System.out.println("--config-file needs parameter!");
return;
}
+ setIconOnMacOS();
new Main(configFilename);
}
+ private static void setIconOnMacOS() {
+ try {
+ Class<?> applicationClass = Class.forName("com.apple.eawt.Application");
+ Object application = applicationClass.newInstance();
+ Method setDockIconImageMethod = applicationClass.getDeclaredMethod("setDockIconImage", Image.class);
+ setDockIconImageMethod.invoke(application, IconLoader.loadImage("/jsite-icon.png"));
+ } catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) {
+ /* ignore, if any of these don’t work, we’re probably not on macOS. */
+ }
+ }
+
/**
* Prints a small syntax help.
*/