package org.lemsml.jlems.viz.datadisplay;
import java.awt.HeadlessException;
import org.lemsml.jlems.core.display.DataViewer;
import org.lemsml.jlems.core.display.DataViewerFactory;
import org.lemsml.jlems.core.logging.E;
public final class SwingDataViewerFactory extends DataViewerFactory {
static SwingDataViewerFactory instance;
// inject this into the jLEMS DataViewerFactory:
public static void initialize() {
if (instance == null) {
instance = new SwingDataViewerFactory();
}
}
private SwingDataViewerFactory() {
super();
DataViewerFactory.getFactory().setDelegate(this);
}
@Override
public DataViewer newDataViewer(String title) {
DataViewer ret = null;
try {
ret = new StandaloneViewer(title);
} catch (HeadlessException he) {
E.informativeError("Problem starting the GUI!\n"
+ "Are you running LEMS in headless mode, e.g. logged in to a remote machine?\n"
+ "Try running jLEMS with the -nogui option");
System.exit(1);
}
return ret;
}
}