?? ideframe.java
字號:
private BorderLayout borderLayout1 = new BorderLayout(); private JPanel Binarypane = new JPanel(); private JPanel Graphicalpane = new JPanel(); private JPanel GraphicalButtonpane = new JPanel(); private BorderLayout TextpaneLayout = new BorderLayout(); private JPanel EditorInfopanel = new JPanel(); private JPanel Buttonpanel = new JPanel(); private JButton Toolbar_PreTag = new JButton(); private JMenuItem jMenuPreTag = new JMenuItem(); private JButton Toolbar_PhoneSimulator = new JButton(); private JMenuItem jMenuToolsPhoneSimulator = new JMenuItem(); private JButton Toolbar_SimBack = new JButton(); private JButton Toolbar_SimStop = new JButton(); private JButton Toolbar_SimReload = new JButton(); private JButton Toolbar_SimRefresh = new JButton(); private JButton Toolbar_SimHome = new JButton(); private JMenuItem jMenuToolsSimHome = new JMenuItem(); private JMenuItem jMenuToolsSimRefresh = new JMenuItem(); private JMenuItem jMenuToolsSimReload = new JMenuItem(); private JMenuItem jMenuToolsSimStop = new JMenuItem(); private JMenuItem jMenuToolsSimLoadLocation = new JMenuItem(); private JMenuItem jMenuToolsSimLoadFile = new JMenuItem(); private JMenu SimSkinMenu = new JMenu(); private JMenuItem SkinNew = new JMenuItem(); private JMenuItem SkinDummy = new JMenuItem(); private JRadioButtonMenuItem SkinDefault = new JRadioButtonMenuItem(); // User Defined Variables /** Text that must be maintained through a statusbar text change. */ private String StatusbarText = ""; /** The settings that where loaded from the settings file. */ private Vector Settings = new Vector(); /** The document that is linked to the CodeEditorTextpane. */ private SyntaxDocument theDoc; /** The backup directory to write backup too, when enabled. */ private String BackupDir; /** The directory where files can be found, normally set to the directory where * the program executes from */ private String FilesDir; /** The amount of time to wait before executing a backup. */ private int BackupTime; /** If true, does timed backups */ private boolean BackupEnabled; /** If true, encodes wml, si, and sl with a string table to minimize file size. */ private boolean EncodeWithStringTable = true; /** If true, deletes extra spces at start and end of file. */ private boolean RemoveTrailingSpace = true; /** The number of open files. */ private int TabCounter = -1; /** Counts up from 0, used to create unique IDs for the files. */ private int Counter = 0; /** Vector to store open files and their data. */ private Vector openFiles = new Vector(); /** File pointer, points to the current open file. */ private int openFile = -1; /** The path to the application, set to running directory. */ private String Path = ""; /**General taghandler, used throughout this class. */ private TagHandler tagHandler = new TagHandler(GraphicalTextpane, jMenuWMLTags, ToolsToolbar, AdvancedToolsToolbar, CardTabspane, Statusbar); /** Used to detect changes in file ID's, stores the active file's ID. */ private int ActiveFile = -1; /** Indicates a changes in the file, sets modified flag. */ private boolean fileChange = false; /** If true, then certain routines are slightly modified. */ private boolean inGraphicsDesignMode = false; /** The currently selected skin file used by the Simulator class. */ private String simFile = ""; /** The active simulator to which commands can be sent. */ private Simulator sim = null; /** Undo Manager for this class. */ protected UndoManager undoManager = new UndoManager(); /** Print Manager for this class. */ protected PrintManager printManager = new PrintManager(); /** Mouse Modifier constant. */ private static int LEFT_MOUSE_BUTTON = 16; /** Mouse Modifier constant. */ private static int RIGHT_MOUSE_BUTTON = 4; private JMenuItem SkinDelete = new JMenuItem(); /**Construct the frame*/ public IDEFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); File f = new File("temp"); String path = f.getCanonicalPath().substring(0, f.getCanonicalPath().length() - 4); Path = path; // set a default keyword finder, assume wml tagHandler.setKeywordFinder(new KeywordFinder(1)); WAPOptions wo = new WAPOptions(); Settings = wo.getData(); wo.dispose(); EditorTextpane.setPreferredSize(new Dimension(4000, Editorpane.getHeight())); EditorTextpane.setSize(4000, Editorpane.getHeight()); EditorScrollpane.setPreferredSize(new Dimension(Editorpane.getWidth(), Editorpane.getHeight())); EditorScrollpane.setSize(Editorpane.getWidth(), Editorpane.getHeight()); JScrollBar vtmp = EditorScrollpane.getVerticalScrollBar(); vtmp.setBlockIncrement(10); vtmp.setUnitIncrement(10); JScrollBar htmp = EditorScrollpane.getHorizontalScrollBar(); htmp.setBlockIncrement(10); htmp.setUnitIncrement(10); EditorScrollpane.setVerticalScrollBar(vtmp); EditorScrollpane.setHorizontalScrollBar(htmp); Editorpane.setVisible(false); Editorpane.setVisible(true); JScrollBar CustomScrollBar = new JScrollBar(); CustomScrollBar.setMinimumSize(new Dimension(10, 5)); CustomScrollBar.setPreferredSize(new Dimension(10, 61)); GraphicalScreenScroller.setVerticalScrollBar(CustomScrollBar); // in case the designer wipes this piece of code //CustomScrollBar.setMinimumSize(new Dimension(10, 5)); //CustomScrollBar.setPreferredSize(new Dimension(10, 61)); //GraphicalScreenScroller.setVerticalScrollBar(CustomScrollBar); JScrollBar tmpscroll = CardTabsScrollpane.getVerticalScrollBar(); tmpscroll.setBlockIncrement(23); tmpscroll.setUnitIncrement(23); CardTabsScrollpane.setVerticalScrollBar(tmpscroll); // due to a quirck in windows, need to disable syntax highlighting temporarily JCheckBox tempbox = new JCheckBox(); tempbox.setSelected(false); Settings.set(13, tempbox); theDoc = new SyntaxDocument(EditorTextpane, 0, Settings); theDoc.addUndoableEditListener(new MultiDocUndoListener()); theDoc.UpdateSettings(Settings); EditorTextpane.setCaretColor((Color) Settings.get(0)); BinaryTextpane.setBackground((Color) Settings.get(1)); EditorTextpane.setBackground((Color) Settings.get(7)); GraphicalTextpane.setStyledDocument((new DefaultStyledDocument())); GraphicalTextpane.setEditorKit(new StyledEditorKit()); GraphicalTextpane.setBackground((Color) Settings.get(4)); JCheckBox cb = (JCheckBox) Settings.get(12); RemoveTrailingSpace = cb.isSelected(); BackupDir = (String) Settings.get(14); FilesDir = (String) Settings.get(15); cb = (JCheckBox) Settings.get(16); String time = (String) Settings.get(17); BackupEnabled = cb.isSelected(); try { BackupTime = Integer.parseInt(time); } catch (NumberFormatException nume) { BackupTime = 10; } cb = (JCheckBox) Settings.get(18); EncodeWithStringTable = cb.isSelected(); EditorTextpane.setStyledDocument(theDoc); jRadioButtonMenuCodeEditor.doClick(); EditorTextpane.setEnabled(false); GraphicalTextpane.setEnabled(false); GraphicalTextpane.setEditable(false); BinaryTextpane.setEnabled(false); Icon[] ListIcons = {new ImageIcon(wapide.IDEFrame.class.getResource("onenterbackward.gif")), new ImageIcon(wapide.IDEFrame.class.getResource("onenterforward.gif")), new ImageIcon(wapide.IDEFrame.class.getResource("onpick.gif")), new ImageIcon(wapide.IDEFrame.class.getResource("ontimer.gif"))}; Toolbar_OneventTags.addItem("onenterbackward"); Toolbar_OneventTags.addItem("onenterforward"); Toolbar_OneventTags.addItem("onpick"); Toolbar_OneventTags.addItem("ontimer"); Toolbar_OneventTags.setRenderer(new ComboItemRenderer(ListIcons)); //Toolbar_OneventTags.setSelectedIndex(3); causes an overflow error in MS Windows??? undoManager.discardAllEdits(); Statusbar.setText("Ready"); if (FilesDir.trim().length() > 0) Path = FilesDir; if (BackupEnabled) { // run backup thread,to be implemented later } // disable sim buttons and menu items JMenu m = jMenuToolsSimTools; for (int x = 0; x < 2; x++) m.getItem(x).setEnabled(false); for (int x = 3; x < 6; x++) m.getItem(x).setEnabled(false); for (int x = 7; x < 9; x++) m.getItem(x).setEnabled(false); for (int x = 21; x < 26; x++) MainToolbar.getComponentAtIndex(x).setEnabled(false); loadSkins(); } catch(Exception e) { e.printStackTrace(); } } /**Component initialization*/ private void jbInit() throws Exception { setIconImage(Toolkit.getDefaultToolkit().createImage(IDEFrame.class.getResource("icon.gif"))); image1 = new ImageIcon(wapide.IDEFrame.class.getResource("openFile.gif")); image2 = new ImageIcon(wapide.IDEFrame.class.getResource("closeFile.gif")); image3 = new ImageIcon(wapide.IDEFrame.class.getResource("help.gif")); image4 = new ImageIcon(wapide.IDEFrame.class.getResource("newFile.gif")); image5 = new ImageIcon(wapide.IDEFrame.class.getResource("printFile.gif")); image6 = new ImageIcon(wapide.IDEFrame.class.getResource("codeEditor.gif")); image7 = new ImageIcon(wapide.IDEFrame.class.getResource("graphicalEditor.gif")); image8 = new ImageIcon(wapide.IDEFrame.class.getResource("binaryEditor.gif")); image9 = new ImageIcon(wapide.IDEFrame.class.getResource("phoneDesigner.gif")); image10 = new ImageIcon(wapide.IDEFrame.class.getResource("WBMPEditor.gif")); image11 = new ImageIcon(wapide.IDEFrame.class.getResource("compileFile.gif")); image12 = new ImageIcon(wapide.IDEFrame.class.getResource("decompileFile.gif")); image13 = new ImageIcon(wapide.IDEFrame.class.getResource("cut.gif")); image14 = new ImageIcon(wapide.IDEFrame.class.getResource("copy.gif")); image15 = new ImageIcon(wapide.IDEFrame.class.getResource("paste.gif")); image16 = new ImageIcon(wapide.IDEFrame.class.getResource("undo.gif")); image17 = new ImageIcon(wapide.IDEFrame.class.getResource("redo.gif")); image18 = new ImageIcon(wapide.IDEFrame.class.getResource("aTag.gif")); image19 = new ImageIcon(wapide.IDEFrame.class.getResource("anchorTag.gif")); image20 = new ImageIcon(wapide.IDEFrame.class.getResource("cardTag.gif")); image21 = new ImageIcon(wapide.IDEFrame.class.getResource("doTag.gif")); image22 = new ImageIcon(wapide.IDEFrame.class.getResource("goTag.gif")); image23 = new ImageIcon(wapide.IDEFrame.class.getResource("noopTag.gif")); image24 = new ImageIcon(wapide.IDEFrame.class.getResource("prevTag.gif")); image25 = new ImageIcon(wapide.IDEFrame.class.getResource("refreshTag.gif")); image26 = new ImageIcon(wapide.IDEFrame.class.getResource("timerTag.gif")); image27 = new ImageIcon(wapide.IDEFrame.class.getResource("bigTag.gif")); image28 = new ImageIcon(wapide.IDEFrame.class.getResource("boldTag.gif")); image29 = new ImageIcon(wapide.IDEFrame.class.getResource("emTag.gif")); image30 = new ImageIcon(wapide.IDEFrame.class.getResource("iTag.gif")); image31 = new ImageIcon(wapide.IDEFrame.class.getResource("smallTag.gif")); image32 = new ImageIcon(wapide.IDEFrame.class.getResource("strongTag.gif")); image33 = new ImageIcon(wapide.IDEFrame.class.getResource("uTag.gif")); image34 = new ImageIcon(wapide.IDEFrame.class.getResource("brTag.gif")); image35 = new ImageIcon(wapide.IDEFrame.class.getResource("imgTag.gif")); image36 = new ImageIcon(wapide.IDEFrame.class.getResource("pTag.gif")); image37 = new ImageIcon(wapide.IDEFrame.class.getResource("inputTag.gif")); image38 = new ImageIcon(wapide.IDEFrame.class.getResource("optgroupTag.gif")); image39 = new ImageIcon(wapide.IDEFrame.class.getResource("optionTag.gif")); image40 = new ImageIcon(wapide.IDEFrame.class.getResource("postfieldTag.gif")); image41 = new ImageIcon(wapide.IDEFrame.class.getResource("selectTag.gif")); image42 = new ImageIcon(wapide.IDEFrame.class.getResource("setvarTag.gif")); image43 = new ImageIcon(wapide.IDEFrame.class.getResource("tableTag.gif")); image44 = new ImageIcon(wapide.IDEFrame.class.getResource("tdTag.gif")); image45 = new ImageIcon(wapide.IDEFrame.class.getResource("trTag.gif")); image46 = new ImageIcon(wapide.IDEFrame.class.getResource("dummy.gif")); image48 = new ImageIcon(wapide.IDEFrame.class.getResource("add.gif")); image49 = new ImageIcon(wapide.IDEFrame.class.getResource("remove.gif")); image50 = new ImageIcon(wapide.IDEFrame.class.getResource("closeproject.gif")); image51 = new ImageIcon(wapide.IDEFrame.class.getResource("recycle.gif")); image52 = new ImageIcon(wapide.IDEFrame.class.getResource("uparrow.gif")); image53 = new ImageIcon(wapide.IDEFrame.class.getResource("downarrow.gif")); image54 = new ImageIcon(wapide.IDEFrame.class.getResource("grid.gif")); image55 = new ImageIcon(wapide.IDEFrame.class.getResource("fieldset.gif")); image56 = new ImageIcon(wapide.IDEFrame.class.getResource("preTag.gif")); image57 = new ImageIcon(wapide.IDEFrame.class.getResource("sim.gif")); image60 = new ImageIcon(wapide.IDEFrame.class.getResource("simback.gif")); image61 = new ImageIcon(wapide.IDEFrame.class.getResource("simhome.gif")); image62 = new ImageIcon(wapide.IDEFrame.class.getResource("simrefresh.gif")); image63 = new ImageIcon(wapide.IDEFrame.class.getResource("simreload.gif")); image64 = new ImageIcon(wapide.IDEFrame.class.getResource("simstop.gif")); border1 = new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(142, 142, 142)); border2 = new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(142, 142, 142)); border3 = new EtchedBorder(EtchedBorder.RAISED,Color.white,new Color(142, 142, 142)); border4 = BorderFactory.createEtchedBorder(Color.white,new Color(142, 142, 142)); border5 = BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.white,1),BorderFactory.createEmptyBorder(0,1,0,0)); border6 = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.white,new Color(134, 134, 134),new Color(93, 93, 93)); border7 = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.white,new Color(142, 142, 142),new Color(99, 99, 99)); border8 = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.lightGray,Color.lightGray,new Color(142, 142, 142),new Color(99, 99, 99)); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(ContentBorderLayout); this.setSize(new Dimension(611, 515)); this.setTitle("WAPIDE"); this.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(KeyEvent e) { this_keyPressed(e); } }); jMenuFile.setRequestFocusEnabled(false); jMenuFile.setText("File"); jMenuHelp.setText("Help"); jMenuHelpAbout.setIcon(image46); jMenuHelpAbout.setText("About");
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -