📄 main.java
字号:
{ menuExitListener.actionPerformed(null); } public void windowIconified(WindowEvent ev) { MIDletBridge.getMIDletAccess(common.getLauncher().getCurrentMIDlet()).pauseApp(); } public void windowDeiconified(WindowEvent ev) { try { MIDletBridge.getMIDletAccess(common.getLauncher().getCurrentMIDlet()).startApp(); } catch (MIDletStateChangeException ex) { System.err.println(ex); } } }; public Main() { instance = this; JMenuBar menuBar = new JMenuBar(); JMenu menuFile = new JMenu("File"); menuOpenJADFile = new JMenuItem("Open JAD File..."); menuOpenJADFile.addActionListener(menuOpenJADFileListener); menuFile.add(menuOpenJADFile); menuOpenJADURL = new JMenuItem("Open JAD URL..."); menuOpenJADURL.addActionListener(menuOpenJADURLListener); menuFile.add(menuOpenJADURL); menuFile.addSeparator(); JMenuItem menuItem = new JMenuItem("Exit"); menuItem.addActionListener(menuExitListener); menuFile.add(menuItem); JMenu menuOptions = new JMenu("Options"); menuSelectDevice = new JMenuItem("Select device..."); menuSelectDevice.addActionListener(menuSelectDeviceListener); menuOptions.add(menuSelectDevice); menuBar.add(menuFile); menuBar.add(menuOptions); setJMenuBar(menuBar); setTitle("MicroEmulator"); addWindowListener(windowListener); Config.loadConfig("config.xml"); addKeyListener(keyListener); devicePanel = new SwingDeviceComponent(); selectDevicePanel = new SwingSelectDevicePanel(); common = new Common(emulatorContext); common.setStatusBarListener(statusBarListener); common.setResponseInterfaceListener(responseInterfaceListener); setDevice(selectDevicePanel.getSelectedDeviceEntry()); getContentPane().add(devicePanel, "Center"); getContentPane().add(statusBar, "South"); initialized = true; } public DeviceEntry getDevice() { return deviceEntry; } public void setDevice(DeviceEntry entry) { if (DeviceFactory.getDevice() != null) {// ((J2SEDevice) DeviceFactory.getDevice()).dispose(); } ProgressJarClassLoader loader = (ProgressJarClassLoader) emulatorContext.getClassLoader(); try { Class deviceClass = null; if (entry.getFileName() != null) { loader.addRepository( new File(Config.getConfigPath(), entry.getFileName()).toURL()); deviceClass = loader.findClass(entry.getClassName()); } else { deviceClass = Class.forName(entry.getClassName()); } Device device = (Device) deviceClass.newInstance(); this.deviceEntry = entry; setDevice(device); } catch (MalformedURLException ex) { System.err.println(ex); } catch (ClassNotFoundException ex) { System.err.println(ex); } catch (InstantiationException ex) { System.err.println(ex); } catch (IllegalAccessException ex) { System.err.println(ex); } } protected void setDevice(Device device) { common.setDevice(device); device.init(emulatorContext); devicePanel.init(); Image tmpImg = device.getNormalImage(); Dimension size = new Dimension(tmpImg.getWidth(), tmpImg.getHeight()); size.width += 10; size.height += statusBar.getPreferredSize().height + 55; setSize(size); doLayout(); } public static void main(String args[]) { Class uiClass = null; int uiFontSize = 11; try { uiClass = Class.forName(UIManager.getSystemLookAndFeelClassName ()); } catch (ClassNotFoundException e) {} if (uiClass != null) { try { LookAndFeel customUI = (javax.swing.LookAndFeel)uiClass.newInstance(); UIManager.setLookAndFeel(customUI); } catch (Exception e) { System.out.println("ERR_UIError"); } } else{ try { UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); } catch (Exception ex) { System.out.println("Failed loading Metal look and feel"); System.out.println(ex); uiFontSize=11; } } if(uiFontSize>0) { java.awt.Font dialogPlain = new java.awt.Font("Dialog", java.awt.Font.PLAIN, uiFontSize); java.awt.Font serifPlain = new java.awt.Font("Serif", java.awt.Font.PLAIN, uiFontSize); java.awt.Font sansSerifPlain = new java.awt.Font("SansSerif", java.awt.Font.PLAIN, uiFontSize); java.awt.Font monospacedPlain = new java.awt.Font("Monospaced", java.awt.Font.PLAIN, uiFontSize); UIManager.getDefaults().put ("Button.font", dialogPlain); UIManager.getDefaults().put ("ToggleButton.font", dialogPlain); UIManager.getDefaults().put ("RadioButton.font", dialogPlain); UIManager.getDefaults().put ("CheckBox.font", dialogPlain); UIManager.getDefaults().put ("ColorChooser.font", dialogPlain); UIManager.getDefaults().put ("ComboBox.font", dialogPlain); UIManager.getDefaults().put ("Label.font", dialogPlain); UIManager.getDefaults().put ("List.font", dialogPlain); UIManager.getDefaults().put ("MenuBar.font", dialogPlain); UIManager.getDefaults().put ("MenuItem.font", dialogPlain); UIManager.getDefaults().put ("RadioButtonMenuItem.font", dialogPlain); UIManager.getDefaults().put ("CheckBoxMenuItem.font", dialogPlain); UIManager.getDefaults().put ("Menu.font", dialogPlain); UIManager.getDefaults().put ("PopupMenu.font", dialogPlain); UIManager.getDefaults().put ("OptionPane.font", dialogPlain); UIManager.getDefaults().put ("Panel.font", dialogPlain); UIManager.getDefaults().put ("ProgressBar.font", dialogPlain); UIManager.getDefaults().put ("ScrollPane.font", dialogPlain); UIManager.getDefaults().put ("Viewport.font", dialogPlain); UIManager.getDefaults().put ("TabbedPane.font", dialogPlain); UIManager.getDefaults().put ("Table.font", dialogPlain); UIManager.getDefaults().put ("TableHeader.font", dialogPlain); UIManager.getDefaults().put ("TextField.font", sansSerifPlain); UIManager.getDefaults().put ("PasswordField.font", monospacedPlain); UIManager.getDefaults().put ("TextArea.font", monospacedPlain); UIManager.getDefaults().put ("TextPane.font", serifPlain); UIManager.getDefaults().put ("EditorPane.font", serifPlain); UIManager.getDefaults().put ("TitledBorder.font", dialogPlain); UIManager.getDefaults().put ("ToolBar.font", dialogPlain); UIManager.getDefaults().put ("ToolTip.font", sansSerifPlain); UIManager.getDefaults().put ("Tree.font", dialogPlain); } Main app = new Main(); MIDlet m = null; for (int i = 0; i < args.length; i++) { if (args[i].equals("-d")) { i++; if (i < args.length) { try { Class deviceClass = Class.forName(args[i]); app.setDevice((Device) deviceClass.newInstance()); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (InstantiationException ex) { ex.printStackTrace(); } catch (IllegalAccessException ex) { ex.printStackTrace(); } } } else if (m == null && args[i].endsWith(".jad")) { try { File file = new File(args[i]); URL url = file.exists() ? file.toURL() : new URL(args[0]); app.common.openJadFile(url); } catch (MalformedURLException exception) { System.out.println("Cannot parse " + args[i] + " URL"); } } else { Class midletClass; try { midletClass = Class.forName(args[i]); m = app.common.loadMidlet("MIDlet", midletClass); } catch (ClassNotFoundException ex) { System.out.println("Cannot find " + args[i] + " MIDlet class"); } } } if (m == null) { m = app.common.getLauncher(); } if (app.initialized) { if (m != null) { app.common.startMidlet(m); } app.validate(); app.setVisible(true); } else { System.exit(0); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -