public YarharMain() { super("YarHar!"); int screenX = 1024; int screenY = 800; this.setSize(screenX, screenY); this.setJMenuBar(new YarharMenuBar(this)); this.addWindowListener(this); this.addWindowFocusListener(this); this.add(borderPanel); toolsPanel = new ToolsPanel(this); // borderPanel.add(toolsPanel, BorderLayout.NORTH); spriteLibPanel = new SpriteLibraryPanel(this); layersPanel = new LayersPanel(this); editorPanel = new EditorPanel(this); sidePane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, layersPanel, spriteLibPanel); sidePane.setContinuousLayout(true); sidePane.setResizeWeight(0.5); splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, sidePane, editorPanel); splitPane.setContinuousLayout(true); splitPane.setResizeWeight(0.0); borderPanel.add(splitPane, BorderLayout.CENTER); footer = new StatusFooterPanel(this); borderPanel.add(footer, BorderLayout.SOUTH); // finishing touches on Game window this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); config = YarharConfig.load(); System.err.println("Game Window successfully created!!!"); editorPanel.start(); // Swing can't correctly place divider locations on startup. So we must // set their locations later when everything else is initialized. javax.swing.SwingUtilities.invokeLater( new Runnable() { public void run() { setDividerLocations(); } }); }
/** Sets JSplitPane divider locations */ public void setDividerLocations() { sidePane.setDividerLocation(0.5); splitPane.setDividerLocation(0.25); }