1package de.ur.mi.oop.launcher;
3import de.ur.mi.oop.app.AppManager;
4import de.ur.mi.oop.app.GraphicsApp;
5import de.ur.mi.oop.app.Config;
7import java.lang.reflect.InvocationTargetException;
18 StackTraceElement[] stackTraceElements =
new Exception().getStackTrace();
19 String launcherName = stackTraceElements[stackTraceElements.length - 1].getClassName();
21 launcherName = launcherName.substring(launcherName.lastIndexOf(
PACKAGE_DELIMITER)+1);
26 public static void launch(String appName) {
33 System.setProperty(
"sun.java2d.opengl",
"true");
42 }
catch (Exception e) {
47 private static GraphicsApp getGraphicsAppInstance(String appName)
throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
48 StackTraceElement[] stackTraceElements =
new Exception().getStackTrace();
49 String launcherName = stackTraceElements[stackTraceElements.length - 1].getClassName();
53 if(packageNameCutOffIndex == -1) {
57 String packageName = launcherName.substring(0, launcherName.lastIndexOf(
PACKAGE_DELIMITER));
60 Class<?> appClass = Class.forName(className);
61 return (GraphicsApp) appClass.getConstructor().newInstance();
void setTitle(String title)
void setListener(ConfigChangeListener listener)
void setConfig(Config config)
abstract void initialize()
static void launch(String appName)
static void launch(String appName, Config config)
static final String PACKAGE_DELIMITER