package NET.worlds.console; import java.awt.Dimension; import java.awt.Frame; import java.awt.Toolkit; public class SplashScreen extends java.awt.Window { private static final long serialVersionUID = 4848128412139723543L; private SplashCanvas sc = null; public SplashScreen(String appname, String imagename) { super(new Frame(appname)); this.sc = new SplashCanvas(imagename); this.add(this.sc); this.pack(); this.center(); } public void setImageName(String imagename) { this.sc.setImage(imagename); this.pack(); this.center(); this.sc.repaint(); } public void addOverlay(String name, int x, int y) { this.sc.addOverlay(name, x, y); this.center(); } public void removeOverlay(String name, int x, int y) { this.sc.removeOverlay(name, x, y); } public void center() { Dimension dim = this.getSize(); Dimension scrdim = Toolkit.getDefaultToolkit().getScreenSize(); int x = scrdim.width >= dim.width ? (scrdim.width - dim.width) / 2 : 0; int y = scrdim.height >= dim.height ? (scrdim.height - dim.height) / 2 : 0; this.setLocation(x, y); } @Override public void dispose() { super.dispose(); try { this.sc.flush(); } catch (NullPointerException var2) { System.out.println("Flushing went bad!"); } } }