public MapEditor(LocalSettings localSettings) throws HeadlessException { setTitle(TITLE); setSize(WIDTH, HEIGHT); this.localSettings = localSettings; mainpane = new JDesktopPane(); mainpane.setSize(WIDTH, HEIGHT); mainpane.setBackground(Color.GRAY); setContentPane(mainpane); LwjglApplicationConfiguration configuration = new LwjglApplicationConfiguration(); configuration.width = WIDTH; configuration.height = HEIGHT; levelHolder = new LevelHolder(); final LwjglCanvas lwjglCanvas = new LwjglCanvas(levelHolder, configuration); canvas = lwjglCanvas; levelHolderFrame = new JInternalFrame("EnJine2D Map", false, false, false, true); levelHolderFrame.setSize(WIDTH, HEIGHT); levelHolderFrame.setVisible(true); palette = new Palette("Palette", true, false, true, true); palette.setVisible(true); palette.setLevelHolder(levelHolder); levelHolder.setPalette(palette); getContentPane().add(palette); getContentPane().add(levelHolderFrame); SwingUtilities.invokeLater( new Runnable() { @Override public void run() { levelHolderFrame.getContentPane().add(lwjglCanvas.getCanvas()); setVisible(true); } }); loadSettings(); levelHolderFrame.addComponentListener(this); palette.addComponentListener(this); addWindowListener(this); }